Arbitrary code execution in de.tum.in.ase:artemis-java-test-sandbox
### Summary Because of the missing `checkLink(String)` override in the SecurityManager, students can load libraries and execute arbitrary code. ### Details Using `System.load(String)` or `System.loadLibrary(String)` students can load and execute arbitrary code. ```java private static native void start(List<String> args); public static void main(String[] args) { System.load(new File("path_to_lib.so").getAbsolutePath()); start(List.of(args)); } ``` Adding this to the security manager (and a translation) should fix the issue: ```java @Override public void checkExec(String cmd) { try { if (enterPublicInterface()) return; throw new SecurityException(localized("security.error_link")); //$NON-NLS-1$ } finally { exitPublicInterface(); } } ``` ### PoC See details. ### Impact Arbitrary code execution.
describes (1)
Related CVEs.
| ID | severity | exploitable | ||
|---|---|---|---|---|
| CVE-2024-23681US | high8.2 | — | ||
Artemis Java Test Sandbox versions before 1.11.2 are vulnerable to a sandbox escape when an attacker loads untrusted libraries using System.load or System.loadLibrary. An attacker… | ||||
references
External citations — patches, advisories, analysis.
Advisories like this name the exposed products attackers go after on your perimeter. See what is exposed on your perimeter with a free passive scan.
Free scan