| शीर्षक | Node.js jqwidgets-framework 24.0.1 Prototype Pollution |
|---|
| विवरण | A prototype pollution vulnerability exists in jqwidgets-framework 24.0.1.
The package exposes public framework helper functions including JQXLite.extend / jqxBaseFramework.extend through the package root jqwidgets/jqx-all.js. The bundled jQuery-style deep merge helper recursively reads and writes target[key] while processing attacker-controlled object keys. When the source object contains an own enumerable proto property, target["__proto__"] resolves to Object.prototype and the recursive merge writes attacker-controlled properties globally.
A crafted object passed into the public extend helper can therefore pollute Object.prototype. After exploitation, newly created plain objects may inherit attacker-controlled properties. This can cause unexpected application behavior and may become security-sensitive depending on how affected applications use inherited object properties.
Affected version:
jqwidgets-framework 24.0.1
Impact:
Prototype pollution through public package APIs.
Root cause:
Deep merge logic does not reject dangerous property names such as proto, constructor, or prototype before recursive reads/writes.
Recommended fix:
Reject __proto__, constructor, and prototype keys before reading or writing dynamic object properties in the merge helper. Prefer Object.hasOwn checks and avoid recursing into inherited prototype objects. |
|---|
| स्रोत | ⚠️ https://github.com/jqwidgets/jQWidgets/issues/764 |
|---|
| उपयोगकर्ता | wjm3 (UID 99672) |
|---|
| सबमिशन | 09/07/2026 02:52 PM (2 महीनों पहले) |
|---|
| संयम | 23/08/2026 05:59 PM (2 months later) |
|---|
| स्थिति | स्वीकृत |
|---|
| VulDB प्रविष्टि | 394562 [jQWidgets तक 24.0.1 jqwidgets/jqx-all.js JQXLite.extend/jqxBaseFramework.extend दूरस्थ कोड निष्पादन] |
|---|
| अंक | 20 |
|---|