RHSA-2026:62544
Vulnerability from csaf_redhat - Published: 2026-09-02 08:29 - Updated: 2026-09-21 17:23A flaw was found in qs. The `qs.stringify` function, responsible for serializing objects, does not properly validate the `isBuffer` property of an object's constructor before attempting to invoke it. An unauthenticated attacker can provide specially crafted input that, when processed and then serialized by `qs.stringify`, triggers a `TypeError`. This vulnerability can lead to a Denial of Service (DoS), causing affected applications to return a 500 error or, in certain scenarios, terminate the application process.
| Product | Identifier | Version | Remediation |
|---|---|---|---|
| Unresolved product id: Red Hat Hardened Images:grafana13.1-0:13.1.3-0.4.hum1@aarch64 | — |
Vendor Fix
fix
Workaround
|
|
| Unresolved product id: Red Hat Hardened Images:grafana13.1-0:13.1.3-0.4.hum1@src | — |
Vendor Fix
fix
Workaround
|
|
| Unresolved product id: Red Hat Hardened Images:grafana13.1-0:13.1.3-0.4.hum1@x86_64 | — |
Vendor Fix
fix
Workaround
|
A flaw was found in qs. An unauthenticated attacker can exploit this by sending a specially crafted query string to an application using `qs.parse` with specific non-default settings (`comma: true` and `throwOnLimitExceeded: true`). This bypasses a configured array limit, causing the parser to allocate an excessively large array. This can lead to a Denial of Service (DoS) by consuming too much memory.
CWE-770 - Allocation of Resources Without Limits or Throttling{
"document": {
"aggregate_severity": {
"namespace": "https://access.redhat.com/security/updates/classification/",
"text": "Important"
},
"category": "csaf_security_advisory",
"csaf_version": "2.0",
"distribution": {
"text": "Copyright \u00a9 Red Hat, Inc. All rights reserved.",
"tlp": {
"label": "WHITE",
"url": "https://www.first.org/tlp/"
}
},
"lang": "en",
"notes": [
{
"category": "summary",
"text": "An update for Red Hat Hardened Images RPMs is now available.",
"title": "Topic"
},
{
"category": "general",
"text": "This update includes the following RPMs:\n\ngrafana13.1:\n * grafana13.1-13.1.3-0.4.hum1 (aarch64, x86_64)\n * grafana13.1-13.1.3-0.4.hum1.src (src)\n\nSecurity Fix(es):\n\ngrafana13.1:\n * CVE-2026-82417\n * CVE-2026-82562",
"title": "Details"
},
{
"category": "legal_disclaimer",
"text": "This content is licensed under the Creative Commons Attribution 4.0 International License (https://creativecommons.org/licenses/by/4.0/). If you distribute this content, or a modified version of it, you must provide attribution to Red Hat Inc. and provide a link to the original.",
"title": "Terms of Use"
}
],
"publisher": {
"category": "vendor",
"contact_details": "https://access.redhat.com/security/team/contact/",
"issuing_authority": "Red Hat Product Security is responsible for vulnerability handling across all Red Hat products and services.",
"name": "Red Hat Product Security",
"namespace": "https://www.redhat.com"
},
"references": [
{
"category": "self",
"summary": "https://access.redhat.com/errata/RHSA-2026:62544",
"url": "https://access.redhat.com/errata/RHSA-2026:62544"
},
{
"category": "external",
"summary": "https://access.redhat.com/security/cve/CVE-2026-82417",
"url": "https://access.redhat.com/security/cve/CVE-2026-82417"
},
{
"category": "external",
"summary": "https://access.redhat.com/security/cve/CVE-2026-82562",
"url": "https://access.redhat.com/security/cve/CVE-2026-82562"
},
{
"category": "external",
"summary": "https://access.redhat.com/security/updates/classification/",
"url": "https://access.redhat.com/security/updates/classification/"
},
{
"category": "external",
"summary": "https://images.redhat.com/",
"url": "https://images.redhat.com/"
},
{
"category": "self",
"summary": "Canonical URL",
"url": "https://security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_62544.json"
}
],
"title": "Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update",
"tracking": {
"current_release_date": "2026-09-21T17:23:42+00:00",
"generator": {
"date": "2026-09-21T17:23:42+00:00",
"engine": {
"name": "Red Hat SDEngine",
"version": "5.4.0"
}
},
"id": "RHSA-2026:62544",
"initial_release_date": "2026-09-02T08:29:44+00:00",
"revision_history": [
{
"date": "2026-09-02T08:29:44+00:00",
"number": "1",
"summary": "Initial version"
},
{
"date": "2026-09-04T00:36:24+00:00",
"number": "2",
"summary": "Last updated version"
},
{
"date": "2026-09-21T17:23:42+00:00",
"number": "3",
"summary": "Last generated version"
}
],
"status": "final",
"version": "3"
}
},
"product_tree": {
"branches": [
{
"branches": [
{
"branches": [
{
"category": "product_name",
"name": "Red Hat Hardened Images",
"product": {
"name": "Red Hat Hardened Images",
"product_id": "Red Hat Hardened Images",
"product_identification_helper": {
"cpe": "cpe:/a:redhat:hummingbird:1"
}
}
}
],
"category": "product_family",
"name": "Red Hat Hardened Images"
},
{
"branches": [
{
"category": "product_version",
"name": "grafana13.1-0:13.1.3-0.4.hum1@aarch64",
"product": {
"name": "grafana13.1-0:13.1.3-0.4.hum1@aarch64",
"product_id": "grafana13.1-0:13.1.3-0.4.hum1@aarch64",
"product_identification_helper": {
"purl": "pkg:rpm/redhat/grafana13.1@13.1.3-0.4.hum1?arch=aarch64\u0026distro=hummingbird-20251124\u0026repository_id=public-hummingbird-aarch64-rpms"
}
}
}
],
"category": "architecture",
"name": "aarch64"
},
{
"branches": [
{
"category": "product_version",
"name": "grafana13.1-0:13.1.3-0.4.hum1@src",
"product": {
"name": "grafana13.1-0:13.1.3-0.4.hum1@src",
"product_id": "grafana13.1-0:13.1.3-0.4.hum1@src",
"product_identification_helper": {
"purl": "pkg:rpm/redhat/grafana13.1@13.1.3-0.4.hum1?arch=src\u0026distro=hummingbird-20251124\u0026repository_id=public-hummingbird-source-rpms"
}
}
}
],
"category": "architecture",
"name": "src"
},
{
"branches": [
{
"category": "product_version",
"name": "grafana13.1-0:13.1.3-0.4.hum1@x86_64",
"product": {
"name": "grafana13.1-0:13.1.3-0.4.hum1@x86_64",
"product_id": "grafana13.1-0:13.1.3-0.4.hum1@x86_64",
"product_identification_helper": {
"purl": "pkg:rpm/redhat/grafana13.1@13.1.3-0.4.hum1?arch=x86_64\u0026distro=hummingbird-20251124\u0026repository_id=public-hummingbird-x86_64-rpms"
}
}
}
],
"category": "architecture",
"name": "x86_64"
}
],
"category": "vendor",
"name": "Red Hat"
}
],
"relationships": [
{
"category": "default_component_of",
"full_product_name": {
"name": "grafana13.1-0:13.1.3-0.4.hum1@aarch64 as a component of Red Hat Hardened Images",
"product_id": "Red Hat Hardened Images:grafana13.1-0:13.1.3-0.4.hum1@aarch64"
},
"product_reference": "grafana13.1-0:13.1.3-0.4.hum1@aarch64",
"relates_to_product_reference": "Red Hat Hardened Images"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "grafana13.1-0:13.1.3-0.4.hum1@src as a component of Red Hat Hardened Images",
"product_id": "Red Hat Hardened Images:grafana13.1-0:13.1.3-0.4.hum1@src"
},
"product_reference": "grafana13.1-0:13.1.3-0.4.hum1@src",
"relates_to_product_reference": "Red Hat Hardened Images"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "grafana13.1-0:13.1.3-0.4.hum1@x86_64 as a component of Red Hat Hardened Images",
"product_id": "Red Hat Hardened Images:grafana13.1-0:13.1.3-0.4.hum1@x86_64"
},
"product_reference": "grafana13.1-0:13.1.3-0.4.hum1@x86_64",
"relates_to_product_reference": "Red Hat Hardened Images"
}
]
},
"vulnerabilities": [
{
"cve": "CVE-2026-82417",
"cwe": {
"id": "CWE-1287",
"name": "Improper Validation of Specified Type of Input"
},
"discovery_date": "2026-08-30T00:00:50.379994+00:00",
"ids": [
{
"system_name": "Red Hat Bugzilla ID",
"text": "2525936"
}
],
"notes": [
{
"category": "description",
"text": "A flaw was found in qs. The `qs.stringify` function, responsible for serializing objects, does not properly validate the `isBuffer` property of an object\u0027s constructor before attempting to invoke it. An unauthenticated attacker can provide specially crafted input that, when processed and then serialized by `qs.stringify`, triggers a `TypeError`. This vulnerability can lead to a Denial of Service (DoS), causing affected applications to return a 500 error or, in certain scenarios, terminate the application process.",
"title": "Vulnerability description"
},
{
"category": "summary",
"text": "qs: qs: Denial of Service via improper validation in stringify function",
"title": "Vulnerability summary"
},
{
"category": "other",
"text": "A denial of service vulnerability was found in the qs package for Node.js. The stringify function does not verify that constructor.isBuffer is callable before invoking it. An attacker who can influence object shape, for example through query parameters parsed with allowPrototypes: true as Express 4 does by default, can cause qs.stringify to throw a TypeError when that data is re-serialized. In typical Node.js HTTP frameworks the error is caught per request and returns HTTP 500. In code paths without an error boundary, such as async handlers or background jobs, the process may exit.",
"title": "Statement"
},
{
"category": "general",
"text": "The CVSS score(s) listed for this vulnerability do not reflect the associated product\u0027s status, and are included for informational purposes to better understand the severity of this vulnerability.",
"title": "CVSS score applicability"
}
],
"product_status": {
"fixed": [
"Red Hat Hardened Images:grafana13.1-0:13.1.3-0.4.hum1@aarch64",
"Red Hat Hardened Images:grafana13.1-0:13.1.3-0.4.hum1@src",
"Red Hat Hardened Images:grafana13.1-0:13.1.3-0.4.hum1@x86_64"
]
},
"references": [
{
"category": "self",
"summary": "Canonical URL",
"url": "https://access.redhat.com/security/cve/CVE-2026-82417"
},
{
"category": "external",
"summary": "RHBZ#2525936",
"url": "https://bugzilla.redhat.com/show_bug.cgi?id=2525936"
},
{
"category": "external",
"summary": "https://www.cve.org/CVERecord?id=CVE-2026-82417",
"url": "https://www.cve.org/CVERecord?id=CVE-2026-82417"
},
{
"category": "external",
"summary": "https://nvd.nist.gov/vuln/detail/CVE-2026-82417",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-82417"
},
{
"category": "external",
"summary": "https://github.com/ljharb/qs/commit/e83d321ffafb38cf210683ac31714fce6ce1c6c6",
"url": "https://github.com/ljharb/qs/commit/e83d321ffafb38cf210683ac31714fce6ce1c6c6"
},
{
"category": "external",
"summary": "https://github.com/ljharb/qs/security/advisories/GHSA-4mjr-xmp4-gh2g",
"url": "https://github.com/ljharb/qs/security/advisories/GHSA-4mjr-xmp4-gh2g"
}
],
"release_date": "2026-08-29T23:51:27.634000+00:00",
"remediations": [
{
"category": "vendor_fix",
"date": "2026-09-02T08:29:44+00:00",
"details": "For details on how to apply this update, which includes the changes described in this advisory, refer to:\nhttps://images.redhat.com/",
"product_ids": [
"Red Hat Hardened Images:grafana13.1-0:13.1.3-0.4.hum1@aarch64",
"Red Hat Hardened Images:grafana13.1-0:13.1.3-0.4.hum1@src",
"Red Hat Hardened Images:grafana13.1-0:13.1.3-0.4.hum1@x86_64"
],
"restart_required": {
"category": "none"
},
"url": "https://access.redhat.com/errata/RHSA-2026:62544"
},
{
"category": "workaround",
"details": "If an immediate upgrade to qs 6.16.0 is not feasible, avoid re-serializing attacker-influenced parsed query or body objects with qs.stringify. Where qs.parse is used directly, set allowPrototypes: false unless prototype keys are required. For Express applications, review whether the default query parser configuration is necessary. Wrapping qs.stringify calls in try/catch can limit impact to individual requests.",
"product_ids": [
"Red Hat Hardened Images:grafana13.1-0:13.1.3-0.4.hum1@aarch64",
"Red Hat Hardened Images:grafana13.1-0:13.1.3-0.4.hum1@src",
"Red Hat Hardened Images:grafana13.1-0:13.1.3-0.4.hum1@x86_64"
]
}
],
"scores": [
{
"cvss_v3": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "HIGH",
"baseScore": 7.5,
"baseSeverity": "HIGH",
"confidentialityImpact": "NONE",
"integrityImpact": "NONE",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
"version": "3.1"
},
"products": [
"Red Hat Hardened Images:grafana13.1-0:13.1.3-0.4.hum1@aarch64",
"Red Hat Hardened Images:grafana13.1-0:13.1.3-0.4.hum1@src",
"Red Hat Hardened Images:grafana13.1-0:13.1.3-0.4.hum1@x86_64"
]
}
],
"threats": [
{
"category": "impact",
"details": "Important"
}
],
"title": "qs: qs: Denial of Service via improper validation in stringify function"
},
{
"cve": "CVE-2026-82562",
"cwe": {
"id": "CWE-770",
"name": "Allocation of Resources Without Limits or Throttling"
},
"discovery_date": "2026-08-30T00:31:01.637287+00:00",
"ids": [
{
"system_name": "Red Hat Bugzilla ID",
"text": "2525939"
}
],
"notes": [
{
"category": "description",
"text": "A flaw was found in qs. An unauthenticated attacker can exploit this by sending a specially crafted query string to an application using `qs.parse` with specific non-default settings (`comma: true` and `throwOnLimitExceeded: true`). This bypasses a configured array limit, causing the parser to allocate an excessively large array. This can lead to a Denial of Service (DoS) by consuming too much memory.",
"title": "Vulnerability description"
},
{
"category": "summary",
"text": "qs: qs: Denial of Service via array limit bypass in query string parsing",
"title": "Vulnerability summary"
},
{
"category": "other",
"text": "A flaw was found in the qs npm package. When an application calls qs.parse() with both comma:true and throwOnLimitExceeded:true enabled (both non-default options), a comma-separated value under a bracket-push key (for example, a[]=1,2,3,4) can bypass the configured arrayLimit and allocate an oversized array, causing denial of service in that application process. This is an incomplete fix for a related issue addressed in qs 6.14.2 (CVE-2026-2391). Red Hat products that bundle qs in the affected version range may be impacted if they parse untrusted query strings or urlencoded request bodies with both options enabled. The availability impact is limited to the application process using qs; host operating systems are not at risk of availability degradation due to this flaw.",
"title": "Statement"
},
{
"category": "general",
"text": "The CVSS score(s) listed for this vulnerability do not reflect the associated product\u0027s status, and are included for informational purposes to better understand the severity of this vulnerability.",
"title": "CVSS score applicability"
}
],
"product_status": {
"fixed": [
"Red Hat Hardened Images:grafana13.1-0:13.1.3-0.4.hum1@aarch64",
"Red Hat Hardened Images:grafana13.1-0:13.1.3-0.4.hum1@src",
"Red Hat Hardened Images:grafana13.1-0:13.1.3-0.4.hum1@x86_64"
]
},
"references": [
{
"category": "self",
"summary": "Canonical URL",
"url": "https://access.redhat.com/security/cve/CVE-2026-82562"
},
{
"category": "external",
"summary": "RHBZ#2525939",
"url": "https://bugzilla.redhat.com/show_bug.cgi?id=2525939"
},
{
"category": "external",
"summary": "https://www.cve.org/CVERecord?id=CVE-2026-82562",
"url": "https://www.cve.org/CVERecord?id=CVE-2026-82562"
},
{
"category": "external",
"summary": "https://nvd.nist.gov/vuln/detail/CVE-2026-82562",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-82562"
},
{
"category": "external",
"summary": "https://github.com/ljharb/qs/commit/8859c37470e11b42b547b275e4e9bd0bc8cc5464",
"url": "https://github.com/ljharb/qs/commit/8859c37470e11b42b547b275e4e9bd0bc8cc5464"
},
{
"category": "external",
"summary": "https://github.com/ljharb/qs/security/advisories/GHSA-w7fw-mjwx-w883",
"url": "https://github.com/ljharb/qs/security/advisories/GHSA-w7fw-mjwx-w883"
},
{
"category": "external",
"summary": "https://github.com/ljharb/qs/security/advisories/GHSA-x5fp-wj9c-mxmx",
"url": "https://github.com/ljharb/qs/security/advisories/GHSA-x5fp-wj9c-mxmx"
}
],
"release_date": "2026-08-29T23:58:31.289000+00:00",
"remediations": [
{
"category": "vendor_fix",
"date": "2026-09-02T08:29:44+00:00",
"details": "For details on how to apply this update, which includes the changes described in this advisory, refer to:\nhttps://images.redhat.com/",
"product_ids": [
"Red Hat Hardened Images:grafana13.1-0:13.1.3-0.4.hum1@aarch64",
"Red Hat Hardened Images:grafana13.1-0:13.1.3-0.4.hum1@src",
"Red Hat Hardened Images:grafana13.1-0:13.1.3-0.4.hum1@x86_64"
],
"restart_required": {
"category": "none"
},
"url": "https://access.redhat.com/errata/RHSA-2026:62544"
},
{
"category": "workaround",
"details": "Until an updated qs dependency is available in your Red Hat product, limit exposure as follows:\n\n1. If your application calls qs.parse() directly, avoid enabling both comma:true and throwOnLimitExceeded:true when parsing untrusted query strings or urlencoded request bodies. Disable one of these non-default options, or upgrade qs to version 6.16.0 or later.\n\n2. Where qs is included only as a transitive dependency, apply product updates that ship qs 6.16.0 or later when they become available.\n\n3. Enforce HTTP request-line and request-body size limits at your ingress or application server. Because allocated memory scales with attacker-supplied input size, transport-layer limits bound worst-case impact.\n\nHost operating systems are not directly affected. These steps apply to application processes that use qs with the vulnerable configuration.",
"product_ids": [
"Red Hat Hardened Images:grafana13.1-0:13.1.3-0.4.hum1@aarch64",
"Red Hat Hardened Images:grafana13.1-0:13.1.3-0.4.hum1@src",
"Red Hat Hardened Images:grafana13.1-0:13.1.3-0.4.hum1@x86_64"
]
}
],
"scores": [
{
"cvss_v3": {
"attackComplexity": "HIGH",
"attackVector": "NETWORK",
"availabilityImpact": "LOW",
"baseScore": 3.7,
"baseSeverity": "LOW",
"confidentialityImpact": "NONE",
"integrityImpact": "NONE",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L",
"version": "3.1"
},
"products": [
"Red Hat Hardened Images:grafana13.1-0:13.1.3-0.4.hum1@aarch64",
"Red Hat Hardened Images:grafana13.1-0:13.1.3-0.4.hum1@src",
"Red Hat Hardened Images:grafana13.1-0:13.1.3-0.4.hum1@x86_64"
]
}
],
"threats": [
{
"category": "impact",
"details": "Low"
}
],
"title": "qs: qs: Denial of Service via array limit bypass in query string parsing"
}
]
}
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.