CVE-2024-23681
Arbitrary code execution in de.tum.in.ase:artemis-java-test-sandbox
Impact
### 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.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| maven | de.tum.in.ase:artemis-java-test-sandbox | < 1.11.2 | 1.11.2 |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Ls1intum | Artemis Java Test Sandbox | before 1.11.2 |