PT-2026-83502 · Npm · Qs
CVSS v4.0
6.3
متوسطة
| المتجه | AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Name of the Vulnerable Software and Affected Versions
qs versions 2.2.5 through 6.15.3
Description
The
qs.stringify function can throw a TypeError when serializing an object that contains a constructor property with a truthy, non-callable isBuffer member. This occurs because the utils.isBuffer() function performs duck-typing by invoking obj.constructor.isBuffer(obj) without first verifying that isBuffer is actually a function. An attacker can trigger this by providing specially crafted input via qs.parse (using plainObjects: true or allowPrototypes: true) or through JSON.parse. In environments like Express 4 or body-parser with extended: true, such input can be passed directly through req.query or req.body. This can lead to a denial of service where the affected request returns a 500 error, or in cases where the call occurs outside an error boundary (such as in an async handler), it may cause the entire process to exit.Recommendations
Update qs to version 6.16.0 or later.
استغلال
إصلاح
وجدت خطأً في الوصف؟ لديك ما تضيفه؟ لا تتردد في مراسلتنا 👾
المعرّفات ذات الصلة
المنتجات المتأثرة
Qs