CVE-2024-38999
Critical · 10.0CVSS
10.0
EPSS
0.8%
Published
Jul 1, 2024
CISA due date
—
Cloudanix analysis
A problem in a code library on some Linux computers could let attackers run bad programs or stop services from working if the systems are not updated.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Full Compromise
- Component
- Library
- Class
- Improper Input Validation
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Prototype pollution via the s.contexts._.configure function in requirejs allows injection of arbitrary properties into the Object prototype, enabling arbitrary code execution or Denial of Service.
Why it matters to the business
Attackers could execute malicious code or disrupt services on affected Debian Linux systems, leading to potential downtime, data compromise, or system instability; low urgency given stable low EPSS and lack of KEV inclusion despite the high CVSS.
How an attack unfolds
An attacker supplies a malicious configuration object to the vulnerable configure function in requirejs v2.3.6, polluting the prototype to alter application behavior and either execute arbitrary code or trigger a crash; no known threat actors or ransomware campaigns exploiting this CVE.
How to fix it
Upgrade affected Debian 11 packages to version 5.10.216-1 or later; review and update any direct or transitive requirejs dependencies to patched releases.
How to confirm the fix worked
Confirm installed package versions meet or exceed 5.10.216-1 on Debian 11 systems and verify requirejs instances no longer accept untrusted configuration objects that modify prototypes.
Typical attack path
- Locate a service using the vulnerable requirejs version
- Craft and send a malicious object to the configure function
- Trigger prototype pollution to modify core object behavior
- Achieve arbitrary code execution or cause service denial
How to detect it
Review application and web server logs for anomalous configuration objects or repeated errors around requirejs context setup; inspect for unexpected prototype modifications in runtime environments.
What your security team should do
- Prioritize patching Debian 11 systems to the fixed kernel package version 5.10.216-1
- Audit application dependencies for requirejs usage and enforce version pinning
- Implement input validation around configuration functions in JavaScript runtimes
- Monitor EPSS and KEV updates for any change in exploitation likelihood
The record
jrburke requirejs v2.3.6 was discovered to contain a prototype pollution via the function s.contexts._.configure. This vulnerability allows attackers to execute arbitrary code or cause a Denial of Service (DoS) via injecting arbitrary properties.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| npm | requirejs | 0 | 2.3.7 |
| Chainguard | py3-jupyterhub | 0 | 5.2.0-r0 |
| Chainguard | py3-supported-jupyterhub | 0 | 5.2.0-r0 |
| Chainguard | py3.10-jupyterhub | 0 | 5.2.0-r0 |
| Chainguard | py3.10-jupyterhub-bin | 0 | 5.2.0-r0 |
| Chainguard | py3.11-jupyterhub | 0 | 5.2.0-r0 |
| Chainguard | py3.11-jupyterhub-bin | 0 | 5.2.0-r0 |
| Chainguard | py3.12-jupyterhub | 0 | 5.2.0-r0 |
| Chainguard | py3.12-jupyterhub-bin | 0 | 5.2.0-r0 |
| Chainguard | py3.13-jupyterhub | 0 | 5.2.0-r0 |
| Chainguard | py3.13-jupyterhub-bin | 0 | 5.2.0-r0 |
| Debian:11 | requirejs | 0 | No fix |
| Debian:12 | requirejs | 0 | No fix |
| Debian:13 | requirejs | 0 | No fix |
| SUSE:Linux Enterprise Module for Python 3 15 SP6 | pgadmin4 | 0 | 8.5-150600.3.6.1 |
| Ubuntu:16.04:LTS | requirejs | 0 | No fix |
| Ubuntu:18.04:LTS | requirejs | 0 | No fix |
| Ubuntu:20.04:LTS | requirejs | 0 | No fix |
| Ubuntu:22.04:LTS | requirejs | 0 | No fix |
| Ubuntu:24.04:LTS | requirejs | 0 | No fix |
| Ubuntu:24.10 | requirejs | 0 | No fix |
| Ubuntu:25.04 | requirejs | 0 | No fix |
| Ubuntu:25.10 | requirejs | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | requirejs | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | requirejs | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | requirejs | 0 | No fix |
| Wolfi | py3-jupyterhub | 0 | 5.2.0-r0 |
| Wolfi | py3-supported-jupyterhub | 0 | 5.2.0-r0 |
| Wolfi | py3.10-jupyterhub | 0 | 5.2.0-r0 |
| Wolfi | py3.10-jupyterhub-bin | 0 | 5.2.0-r0 |
| Wolfi | py3.11-jupyterhub | 0 | 5.2.0-r0 |
| Wolfi | py3.11-jupyterhub-bin | 0 | 5.2.0-r0 |
| Wolfi | py3.12-jupyterhub | 0 | 5.2.0-r0 |
| Wolfi | py3.12-jupyterhub-bin | 0 | 5.2.0-r0 |
| Wolfi | py3.13-jupyterhub | 0 | 5.2.0-r0 |
| Wolfi | py3.13-jupyterhub-bin | 0 | 5.2.0-r0 |
| openSUSE:Leap 15.6 | pgadmin4 | 0 | 8.5-150600.3.6.1 |
Related vulnerabilities
- CVE-2025-27152 axios Requests Vulnerable To Possible SSRF and Credential Leakage via Absolute URL Also affects pgadmin4
- CVE-2023-1907 pgAdmin has Incorrect Default Permissions Also affects pgadmin4
- CVE-2024-48948 The Elliptic package 6.5.7 for Node.js, in its for ECDSA implementation, does not… Also affects pgadmin4
- CVE-2024-48949 The verify function in lib/elliptic/eddsa/index.js in the Elliptic package before 6.5.6… Also affects pgadmin4
- CVE-2024-38355 Socket.IO is an open source, real-time, bidirectional, event-based, communication… Also affects pgadmin4
- CVE-2025-12764 pgAdmin is affected by an LDAP injection vulnerability Also affects pgadmin4
- CVE-2025-12765 pgAdmin has vulnerability in LDAP authentication mechanism that allows bypassing TLS… Also affects pgadmin4
- CVE-2026-104852 GraphQL Tools provides utilities for building, stitching, and mocking GraphQL schemas. CWE-1321