Cyber Resilience

CVE-2024-28185

Published
18 April 2024
Modified
15 April 2026
CVSS Score v3.1 10.0
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
EPSS Score 0.071 94th percentile
Risk Priority 98 floored blend · peak EPSS

Summary

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

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

T1034 Path Interception Persistence
**This technique has been deprecated.
T1547.009 Shortcut Modification Persistence
Adversaries may create or modify shortcuts that can execute a program during system boot or user login.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2025-36564Shared CWE-59, CWE-61
CVE-2026-24047Shared CWE-59, CWE-61
CVE-2024-52537Shared CWE-59, CWE-61
CVE-2025-67487Shared CWE-59, CWE-61
CVE-2024-23285Shared CWE-59, CWE-61
CVE-2024-25953Shared CWE-59, CWE-61
CVE-2024-47480Shared CWE-59, CWE-61
CVE-2026-7397Shared CWE-59, CWE-61
CVE-2025-14693Shared CWE-59, CWE-61
CVE-2024-28189Shared CWE-59, CWE-61

Affected Assets

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)
  • 2 hardening rules · 2 OS baselines
Validate
Prove the fix (OWASP ASVS)
  • V15.4.2
  • V5.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.

PR.PS-06 mostly match
prevents

Secure SDLC practices directly require code to validate paths and avoid unsafe link following.

ID.RA-01 partial match
prevents

Vulnerability identification can discover existing symlink issues but does not prevent or remediate them in code.

PR.AA-05 partial match
prevents

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.

finds

Security testing can detect link-following flaws before release.

prevents

Secure SDLC practices can mandate link-resolution checks and canonicalization before file access.

prevents

Application security requirements can explicitly require safe handling of symbolic links and path traversal.

prevents

Secure architecture principles include input validation and safe file-access design patterns.

prevents

Secure coding standards directly address canonicalization and symlink attacks during implementation.

mitigates

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

References