github_osv/GHSA-98hq-4wmw-98w9
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.
gitlab/maven/de.tum.in.ase/artemis-java-test-sandbox/CVE-2024-23681
Arbitrary code execution in de.tum.in.ase:artemis-java-test-sandbox
Because of the missing `checkLink(String)` override in the SecurityManager, students can load libraries and execute arbitrary code.
gitlab/maven/de.tum.in.ase/artemis-java-test-sandbox/GMS-2023-282
Duplicate
This advisory duplicates another.