GHSA-g9cg-h3jm-cwrc
NoneCVSS
—
EPSS
—
Published
Sep 3, 2020
CISA due date
—
Cloudanix analysis
A flaw in how some software reads incoming data lets attackers secretly change how the program works, which could let them disrupt services or steal information.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Data Tampering
- Component
- Library
- Class
- Improper Input Validation
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Prototype pollution via improper input validation allows an attacker to add or modify properties on Object.prototype through crafted payloads processed by the vulnerable parser.
Why it matters to the business
Attackers may alter application behavior, cause denial of service, or achieve remote code execution in affected Node.js services, leading to downtime, data exposure, and remediation costs; widespread use of the library increases organizational exposure.
How an attack unfolds
An attacker crafts a malicious payload containing prototype-polluting keys and submits it to an endpoint that uses the vulnerable subtext parser; successful pollution then influences subsequent object operations to bypass logic checks or execute attacker-controlled code.
How to fix it
Upgrade the affected package to a non-vulnerable version; for the listed Alpine python3 packages apply the update to 3.10.14-r0 or later.
How to confirm the fix worked
Verify the installed package version against the fixed release, review dependency trees for the vulnerable library, and re-run application tests that exercise input parsing paths.
Typical attack path
- Locate an application endpoint that accepts untrusted input processed by @hapi/subtext
- Craft a payload containing keys such as '__proto__' or 'constructor.prototype'
- Submit the payload via HTTP request or API call
- Trigger code paths that access or iterate over polluted objects
- Leverage modified prototype properties to achieve desired attacker outcome
How to detect it
Review application and web server logs for requests containing prototype-pollution patterns such as repeated '__proto__' keys; examine process memory or object dumps for unexpected inherited properties after parsing untrusted input.
What your security team should do
- Immediately audit all services using @hapi/subtext and schedule upgrades
- Prioritize patching in internet-facing applications given the 2020 disclosure date
- Add dependency scanning to CI pipelines to prevent reintroduction of vulnerable versions
The record
Prototype Pollution in @hapi/subtext
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| npm | @hapi/pez | 0 | 5.0.1 |
| npm | @hapi/subtext | 7.0.0 | 7.0.3 |
Related vulnerabilities
- GHSA-3wqh-h42r-x8fq Denial of Service in @hapi/content Also affects @hapi/subtext
- CVE-2026-104852 GraphQL Tools provides utilities for building, stitching, and mocking GraphQL schemas. CWE-1321
- CVE-2026-104849 Tinypool is a minimal Node.js worker thread pool implementation. CWE-1321
- CVE-2026-104848 Tinypool is a minimal Node.js worker thread pool implementation. CWE-1321
- CVE-2026-104183 stream-json is a micro-library of stream components for processing JSON and JSONC with a… CWE-1321
- CVE-2026-102992 piscina is a node.js worker pool implementation. CWE-1321
- CVE-2026-101908 Axios is a promise-based HTTP client for the browser and Node.js. CWE-1321
- CVE-2026-101909 Axios is a promise-based HTTP client for the browser and Node.js. CWE-1321