Skip to main content
EPSS 0.4%top 66%

CVE-2026-82417: CWE-248 Uncaught Exception in ljharb qs

0
Medium
Published: 08/29/2026 (08/29/2026, 23:51:27 UTC)
Source: CVE Database V5
Vendor/Project: ljharb
Product: qs

Description

A vulnerability in the ljharb qs library causes qs.stringify to throw a TypeError when serializing objects whose own constructor property has a truthy but non-callable isBuffer member. This occurs because the isBuffer check calls obj.constructor.isBuffer without verifying it is a function. The issue affects versions from 2.2.5 up to but not including 6.16.0 and was fixed in version 6.16.0. An attacker can craft input that triggers this error, causing synchronous exceptions during serialization. In typical Node.js HTTP frameworks, this results in a 500 error response without crashing the process, but in some cases, such as async handlers or background jobs without error boundaries, it can cause process termination.

CVSS v3.1

Score 5.3medium

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
Low
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L

Affected software

ljharb

qs

Affected versions
>=2.2.5 <6.16.0
qs
pkg:npm/qs
Affected versions
>=2.2.5 <6.16.0

Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.

AI-Powered Analysis

Machine-generated threat intelligence

AILast updated: 09/07/2026, 15:34:55 UTC

Technical Analysis

The ljharb qs library's stringify function calls utils.isBuffer on non-primitive values, which invokes obj.constructor.isBuffer without checking if it is a function. If an object has a constructor property with a truthy but non-callable isBuffer property, this leads to a TypeError being thrown. This can be triggered by attacker-controlled input parsed with qs.parse using options that preserve the constructor property (e.g., allowPrototypes: true). The vulnerability affects versions >=2.2.5 and <6.16.0. The fix, released in v6.16.0, adds a typeof check to ensure isBuffer is a function before calling it, preventing the throw. The impact is denial of service via synchronous exceptions during serialization, potentially causing process exit if unhandled.

Potential Impact

An unauthenticated attacker can cause any code path that re-serializes attacker-influenced data with qs.stringify to throw a synchronous TypeError. In typical Node.js HTTP frameworks, this results in a 500 error response for the affected request, with the process continuing to serve other requests. However, if the serialization occurs outside of error boundaries, such as in async Express 4 handlers or background jobs, the unhandled exception can cause the process to exit, leading to denial of service. There is no impact on confidentiality or integrity, only availability.

Mitigation Recommendations

A fix is available and was released in version 6.16.0 of the qs library. Users should upgrade to version 6.16.0 or later to resolve this issue. Until upgraded, applications should ensure that untrusted input is not parsed or serialized in ways that preserve or expose the constructor property with a non-callable isBuffer member. Proper error handling around qs.stringify calls can also mitigate process crashes in async or background contexts.

Pro Console: star threats, build custom feeds, automate alerts via Slack, email & webhooks.Upgrade to Pro

Technical Details

Data Version
5.2
Assigner Short Name
harborist
Date Reserved
2026-08-28T23:08:00.460Z
Cvss Version
3.1
State
PUBLISHED

Threat ID: 6a9370c9acd9273b495c62df

Added to database: 08/29/2026, 23:52:41 UTC

Last enriched: 09/07/2026, 15:34:55 UTC

Last updated: 10/13/2026, 18:48:24 UTC

Views: 182

Community Reviews

0 reviews

Crowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.

Sort by
Loading community insights…

Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.

Actions

PRO

Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.

Please log in to the Console to use AI analysis features.

Need more coverage?

Upgrade to Pro Console for AI refresh and higher limits.

For incident response and remediation, OffSeq services can help resolve threats faster.

Latest Threats

Breach by OffSeqOFFSEQFRIENDS — 25% OFF

Check if your credentials are on the dark web

Instant breach scanning across billions of leaked records. Free tier available.

Scan now
OffSeq TrainingCredly Certified

Lead Pen Test Professional

Technical5-day eLearningPECB Accredited
View courses