CVE-2024-28185
Raw vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:HSummary
CVE-2024-28185 is a critical-severity Link Following (CWE-59) vulnerability. Its CVSS base score is 10.0 (Critical).
Operationally, exploitation aligns with the MITRE ATT&CK technique Path Interception (T1034); ranked in the top 6% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog.
The strongest mitigations our analysis identified map to AC-3 (Access Enforcement) and AC-4 (Information Flow Enforcement) — see the control section below for these in your framework.
Deeper analysis AI-assisted summary
Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.
Judge0 is an open-source online code execution system that fails to handle symbolic links inside its sandbox directory. When processing a submission, the application writes a run_script file to the sandbox via an f.write operation in isolate_job.rb; an attacker-supplied symlink at that path causes the write to target an arbitrary location on the host filesystem instead. The flaw is tracked as CVE-2024-28185, carries a CVSS 3.1 score of 10.0, and is associated with CWE-59 and CWE-61.
An unauthenticated remote attacker can place the symlink before code execution begins, overwrite system scripts or binaries, and obtain code execution outside the intended sandbox. The attack requires only the ability to submit code and does not depend on user interaction or elevated privileges within the application.
The project’s GitHub Security Advisory GHSA-h9g2-45c8-89cf and the corrective commit 846d5839026161bb299b7a35fd3b2afb107992fc document the issue and supply the patch that prevents symlink traversal during the run_script write. The current EPSS score of 0.6502 has remained at its observed peak since disclosure.
OWASP Top 10 for Web (2025)
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2024-25309
Vulnerability Data
Judge0 is an open-source online code execution system. The application does not account for symlinks placed inside the sandbox directory, which can be leveraged by an attacker to write to arbitrary files and gain code execution outside of the sandbox.…
more
When executing a submission, Judge0 writes a `run_script` to the sandbox directory. The security issue is that an attacker can create a symbolic link (symlink) at the path `run_script` before this code is executed, resulting in the `f.write` writing to an arbitrary file on the unsandboxed system. An attacker can leverage this vulnerability to overwrite scripts on the system and gain code execution outside of the sandbox.
- CWE(s)
Related Threats
MITRE ATT&CK Enterprise Techniques
CVEs Like This One
Affected Assets
Mitigating Controls
Control response
—
—
- 2 hardening rules · 2 OS baselines
V15.4.2V5.2.5
Mitigating Controls (NIST 800-53 r5) AI
Proper enforcement of access authorizations on the resolved target resource stops a link from reaching an unintended object.
Information-flow enforcement on file operations must follow the resolved target rather than the link name, blocking unauthorized data movement via symlinks.
Least-privilege limits the damage an attacker can cause after following an unintended link.
Validating file-name inputs can reject or canonicalize names that resolve to links before access occurs.
Mitigating Controls (NIST CSF 2.0) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.
Secure SDLC practices directly require code to validate paths and avoid unsafe link following.
Vulnerability identification can discover existing symlink issues but does not prevent or remediate them in code.
Least-privilege access policies can limit damage from symlink attacks but do not address the coding flaw itself.
Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.
Security testing can detect link-following flaws before release.
Secure SDLC practices can mandate link-resolution checks and canonicalization before file access.
Application security requirements can explicitly require safe handling of symbolic links and path traversal.
Secure architecture principles include input validation and safe file-access design patterns.
Secure coding standards directly address canonicalization and symlink attacks during implementation.
Access-control rules can restrict which files a process may open, reducing symlink-following risk but not eliminating the underlying path-resolution flaw.
Hardening callouts derived
Configuration rules from DISA STIG baselines that bear on weaknesses of the type cited by this CVE. Each rule is shown with the relationship its mapping actually records, against the CWE it was authored against. Derived via CVE→CWE over `controls_xwalks` (authoritative rows only; rows rated `none` are excluded).
Oracle Linux 8 (1 rule)
- V-248577 OL 8 must enable kernel parameters to enforce Discretionary Access Control (DAC) on symlinks. prevents CWE-61