{"id":"CVE-2024-23681","aliases":["EUVD-2024-0326","GHSA-98hq-4wmw-98w9","GHSA-c4pg-5ggh-vcpp"],"status":"published","title":"Artemis Java Test Sandbox Libary Load Escape","description":"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 can abuse this issue to execute arbitrary Java when a victim executes the supposedly sandboxed code.","severity":{"version":"3.1","score":8.2,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H","level":"high","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-11","score":0.00344,"percentile":0.28315,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-284","CWE-94"],"published":"2023-02-10T23:52:13Z","modified":"2026-11-08T13:59:58Z","fixes":[{"ecosystem":"Maven","package":"de.tum.in.ase:artemis-java-test-sandbox","fixed_in":["1.11.2"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"Maven","package":"de.tum.in.ase:artemis-java-test-sandbox","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.2"}]}]},{"source":"osv","ecosystem":"Maven","package":"de.tum.in.ase:artemis-java-test-sandbox","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.2"}]}],"versions":["1.0.0","1.0.1","1.1.0","1.1.1","1.10.0","1.10.1","1.11.0","1.11.1","1.2.0","1.2.1","1.2.2","1.3.0","1.3.1","1.3.2","1.3.3","1.3.4","1.4.0","1.4.1","1.4.2","1.4.3","1.4.4","1.4.5","1.4.6","1.4.7","1.5.0","1.5.1","1.5.2","1.5.3","1.5.4","1.5.5","1.6.0","1.7.0","1.7.1","1.7.2","1.7.3","1.7.5","1.7.6","1.8.0","1.9.0","1.9.1","1.9.2"]}],"products":[{"vendor":"ls1intum","product":"artemis_java_test_sandbox"}],"references":[{"url":"https://github.com/ls1intum/Ares/security/advisories/GHSA-98hq-4wmw-98w9","tags":["vendor-advisory","x_transferred","Exploit","Vendor Advisory","advisory","web"]},{"url":"https://github.com/advisories/GHSA-98hq-4wmw-98w9","tags":["vendor-advisory","third-party-advisory","x_transferred","Exploit","Third Party Advisory","advisory"]},{"url":"https://vulncheck.com/advisories/vc-advisory-GHSA-98hq-4wmw-98w9","tags":["third-party-advisory","x_transferred","Third Party Advisory","advisory","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2024-23681","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-c4pg-5ggh-vcpp"},{"url":"https://repo.maven.apache.org/maven2","tags":["web"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/23xxx/CVE-2024-23681.json","tags":["advisory"]},{"url":"https://github.com/ls1intum/Ares","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2024-23681","title":"Artemis Java Test Sandbox Libary Load Escape","description":"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 can abuse this issue to execute arbitrary Java when a victim executes the supposedly sandboxed code.","status":"published","published":"2024-01-19T20:51:33.54Z","modified":"2026-11-08T13:59:58.329Z","cvss":[{"version":"3.1","score":8.2,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H","level":"high","assessor":"adp"}],"cwes":["CWE-284"],"updated_at":"2026-11-08T14:43:22.764053Z"}],"euvd":[{"id":"EUVD-2024-0326","description":"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 can abuse this issue to execute arbitrary Java when a victim executes the supposedly sandboxed code.","status":"published","published":"2024-01-19T20:51:33Z","modified":"2026-11-08T13:59:58Z","cvss":[{"version":"3.1","score":8.2,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-08T15:13:10.25084Z"}],"ghsa":[{"id":"GHSA-98hq-4wmw-98w9","title":"Arbitrary code execution in de.tum.in.ase:artemis-java-test-sandbox","description":"### Summary\nBecause of the missing `checkLink(String)` override in the SecurityManager, students can load libraries and execute arbitrary code.\n\n### Details\nUsing `System.load(String)` or `System.loadLibrary​(String)` students can load and execute arbitrary code.\n\n```java\nprivate static native void start(List\u003cString\u003e args);\n\npublic static void main(String[] args) {\n  System.load(new File(\"path_to_lib.so\").getAbsolutePath());\n  start(List.of(args));\n}\n```\n\nAdding this to the security manager (and a translation) should fix the issue:\n```java\n@Override\npublic void checkExec(String cmd) {\n  try {\n    if (enterPublicInterface())\n      return;\n    throw new SecurityException(localized(\"security.error_link\")); //$NON-NLS-1$\n  } finally {\n    exitPublicInterface();\n  }\n}\n```\n\n### PoC\nSee details.\n\n### Impact\nArbitrary code execution.","status":"published","published":"2023-02-10T23:52:13Z","modified":"2026-01-22T20:31:07Z","cvss":[{"version":"3.1","score":8.2,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-284"],"updated_at":"2026-11-02T14:39:19.525691Z"},{"id":"GHSA-c4pg-5ggh-vcpp","title":"Duplicate Advisory: Sandbox escape in Artemis Java Test Sandbox","description":"## Duplicate Advisory\nThis advisory has been withdrawn because it is a duplicate of GHSA-98hq-4wmw-98w9. This link is maintained to preserve external references.\n\n## Original Description\nArtemis 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 can abuse this issue to execute arbitrary Java when a victim executes the supposedly sandboxed code.","status":"withdrawn","published":"2024-01-19T21:30:36Z","modified":"2026-01-22T20:30:54Z","cvss":[{"version":"3.1","score":8.2,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-94","CWE-284"],"updated_at":"2026-11-02T14:39:19.525691Z"}],"nvd":[{"id":"CVE-2024-23681","description":"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 can abuse this issue to execute arbitrary Java when a victim executes the supposedly sandboxed code.","status":"published","published":"2024-01-19T21:15:10.207Z","modified":"2026-07-14T23:17:16.04Z","cvss":[{"version":"3.1","score":8.2,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H","level":"high","assessor":"primary"},{"version":"3.1","score":8.2,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H","level":"high","assessor":"secondary"}],"cwes":["CWE-284"],"updated_at":"2026-11-02T14:09:32.147098Z"}],"osv":[{"id":"CVE-2024-23681","title":"Artemis Java Test Sandbox Libary Load Escape","description":"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 can abuse this issue to execute arbitrary Java when a victim executes the supposedly sandboxed code.","status":"published","published":"2024-01-19T20:51:33.54Z","modified":"2026-11-09T02:31:04.664091853Z","cvss":[{"version":"3.1","score":8.2,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-284"],"updated_at":"2026-11-09T03:16:44.651171Z"},{"id":"GHSA-98hq-4wmw-98w9","title":"Arbitrary code execution in de.tum.in.ase:artemis-java-test-sandbox","description":"### Summary\nBecause of the missing `checkLink(String)` override in the SecurityManager, students can load libraries and execute arbitrary code.\n\n### Details\nUsing `System.load(String)` or `System.loadLibrary​(String)` students can load and execute arbitrary code.\n\n```java\nprivate static native void start(List\u003cString\u003e args);\n\npublic static void main(String[] args) {\n  System.load(new File(\"path_to_lib.so\").getAbsolutePath());\n  start(List.of(args));\n}\n```\n\nAdding this to the security manager (and a translation) should fix the issue:\n```java\n@Override\npublic void checkExec(String cmd) {\n  try {\n    if (enterPublicInterface())\n      return;\n    throw new SecurityException(localized(\"security.error_link\")); //$NON-NLS-1$\n  } finally {\n    exitPublicInterface();\n  }\n}\n```\n\n### PoC\nSee details.\n\n### Impact\nArbitrary code execution.","status":"published","published":"2023-02-10T23:52:13Z","modified":"2026-07-08T06:27:25.485385396Z","cvss":[{"version":"3.1","score":8.2,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-284"],"updated_at":"2026-11-02T15:46:43.524801Z"},{"id":"GHSA-c4pg-5ggh-vcpp","title":"Duplicate Advisory: Sandbox escape in Artemis Java Test Sandbox","description":"## Duplicate Advisory\nThis advisory has been withdrawn because it is a duplicate of GHSA-98hq-4wmw-98w9. This link is maintained to preserve external references.\n\n## Original Description\nArtemis 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 can abuse this issue to execute arbitrary Java when a victim executes the supposedly sandboxed code.","status":"withdrawn","published":"2024-01-19T21:30:36Z","modified":"2026-02-03T03:10:36.431694Z","cvss":[{"version":"3.1","score":8.2,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-284","CWE-94"],"updated_at":"2026-11-02T15:46:44.571161Z"}]}}
