CVE-2024-11628

4.1 MEDIUM

📋 TL;DR

This CVE describes a prototype pollution vulnerability in Progress Telerik Kendo UI for Vue components. Attackers can manipulate global prototype objects to cause denial of service or potentially execute arbitrary commands. Applications using affected Kendo UI for Vue versions v2.4.0 through v6.0.1 are vulnerable.

💻 Affected Systems

Products:
  • Progress Telerik Kendo UI for Vue
Versions: v2.4.0 through v6.0.1
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects Vue.js applications using Kendo UI components. Applications must process untrusted user input through vulnerable components.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Remote code execution leading to complete system compromise if combined with other vulnerabilities or misconfigurations.

🟠

Likely Case

Denial of service through application crashes or unexpected behavior, potentially disrupting business operations.

🟢

If Mitigated

Limited impact with proper input validation and security controls in place, possibly causing minor application instability.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: LOW

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: MEDIUM

Exploitation requires specific knowledge of the application's use of Kendo UI components and ability to inject malicious payloads.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: v6.0.2 and later

Vendor Advisory: https://www.telerik.com/kendo-vue-ui/components/knowledge-base/kb-security-protoype-pollution-2024-11628

Restart Required: Yes

Instructions:

1. Update Kendo UI for Vue package to v6.0.2 or later using npm update @progress/kendo-vue-* 2. Rebuild and redeploy your Vue.js application 3. Test application functionality after update

🔧 Temporary Workarounds

Input Validation and Sanitization

all

Implement strict input validation and sanitization for all user inputs before processing by Kendo UI components.

Object.freeze on Prototypes

all

Use Object.freeze() on global prototype objects to prevent modification, though this may break legitimate functionality.

Object.freeze(Object.prototype);
Object.freeze(Array.prototype);

🧯 If You Can't Patch

  • Implement strict Content Security Policy (CSP) to limit script execution
  • Deploy web application firewall (WAF) with prototype pollution detection rules

🔍 How to Verify

Check if Vulnerable:

Check package.json for @progress/kendo-vue-* dependencies with versions between 2.4.0 and 6.0.1 inclusive.

Check Version:

npm list @progress/kendo-vue-*

Verify Fix Applied:

Verify package.json shows @progress/kendo-vue-* dependencies at version 6.0.2 or higher.

📡 Detection & Monitoring

Log Indicators:

  • Unexpected application crashes or restarts
  • Unusual error messages related to prototype modifications
  • Suspicious user input patterns in application logs

Network Indicators:

  • Unusual POST/PUT requests with complex nested objects
  • Requests containing __proto__ or constructor properties

SIEM Query:

source="application_logs" AND ("prototype" OR "__proto__" OR "constructor") AND status="error"

🔗 References

📤 Share & Export