CVE-2023-46404
Published: 03 November 2023
Summary
CVE-2023-46404 is a critical-severity Code Injection (CWE-94) vulnerability in Utoronto Pcrs. Its CVSS base score is 9.9 (Critical).
Operationally, ranked in the top 2.8% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.
Deeper analysis
PCRS versions up to and including 3.11 (commit d0de1e) contain a remote code execution vulnerability on the Questions page and Code editor page that allows an attacker to escape the intended Python sandbox. The flaw is tracked as CVE-2023-46404 with a CVSS 3.1 score of 9.9 and is associated with CWE-94 improper control of generation of code.
An authenticated user with network access can supply crafted input that bypasses sandbox restrictions, resulting in arbitrary code execution on the server with impacts to confidentiality, integrity, and availability and with scope change. The attack requires low complexity and no user interaction.
A fix is referenced in the PCRS repository commit 5f18bcbb383b7d73f7a8b399cc52b23597d752ae, which addresses the sandbox escape on the affected pages. Public proof-of-concept material is also available in the windecks/CVE-2023-46404 repository.
EPSS for the CVE rose from a low baseline to a peak of 0.4282 (current value 0.3580), indicating that exploitation interest increased after public disclosure and that the issue merits renewed attention.
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2023-50623
Vulnerability details
PCRS <= 3.11 (d0de1e) “Questions” page and “Code editor” page are vulnerable to remote code execution (RCE) by escaping Python sandboxing.
- CWE(s)
Related Threats
No named actor attribution yet. ATT&CK technique mapping in progress for this CVE.
Affected Assets
Mitigating Controls
Likely Mitigating Controls AI
Per-CVE control mapping for this CVE has not run yet; the list below is derived from the weakness types (CWEs) cited in the NVD entry.
Makes persistent code injection into loaded programs impossible when the executable image itself resides on hardware-protected read-only media.
Dynamically generated code can be produced and executed inside the isolated chamber, preventing host compromise from code-injection payloads.
Validates inputs used in dynamic code generation to block injected directives.
Directly prevents execution of attacker-supplied code written into data memory regions.