GHSA-98hq-4wmw-98w9
Arbitrary code execution in de.tum.in.ase:artemis-java-test-sandbox
Packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| Maven | de.tum.in.ase:artemis-java-test-sandbox | < 1.11.2 | 1.11.2 |
Details
As written in the advisory (Markdown source, shown as plain text).
### 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.
References
External links from the advisory. They lead to third-party sites.