{"id":"CVE-2024-23682","aliases":["EUVD-2024-0368","GHSA-227w-wv4j-67h4","GHSA-hj55-9jmv-9jrj"],"status":"published","title":"Artemis Java Test Sandbox Class Loading Escape","description":"Artemis Java Test Sandbox versions before 1.8.0 are vulnerable to a sandbox escape when an attacker includes class files in a package that Ares trusts. 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-09","score":0.0035,"percentile":0.28818,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-501","CWE-653"],"published":"2022-02-09T22:30:30Z","modified":"2026-11-09T02:45:48Z","fixes":[{"ecosystem":"Maven","package":"de.tum.in.ase:artemis-java-test-sandbox","fixed_in":["1.8.0"],"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.8.0"}]}]},{"source":"osv","ecosystem":"Maven","package":"de.tum.in.ase:artemis-java-test-sandbox","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.8.0"}]}],"versions":["1.0.0","1.0.1","1.1.0","1.1.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"]}],"products":[{"vendor":"ls1intum","product":"artemis_java_test_sandbox"}],"references":[{"url":"https://github.com/ls1intum/Ares/security/advisories/GHSA-227w-wv4j-67h4","tags":["vendor-advisory","x_transferred","Exploit","Vendor Advisory","advisory","web"]},{"url":"https://github.com/ls1intum/Ares/issues/15","tags":["issue-tracking","x_transferred","Issue Tracking","report","web"]},{"url":"https://github.com/ls1intum/Ares/releases/tag/1.8.0","tags":["related","release-notes","x_transferred","Release Notes","advisory","web"]},{"url":"https://github.com/advisories/GHSA-227w-wv4j-67h4","tags":["vendor-advisory","third-party-advisory","x_transferred","Exploit","Third Party Advisory","advisory"]},{"url":"https://vulncheck.com/advisories/vc-advisory-GHSA-227w-wv4j-67h4","tags":["third-party-advisory","x_transferred","Third Party Advisory","advisory","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2024-23682","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-hj55-9jmv-9jrj"},{"url":"https://repo.maven.apache.org/maven2","tags":["web"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/23xxx/CVE-2024-23682.json","tags":["advisory"]},{"url":"https://github.com/ls1intum/Ares","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2024-23682","title":"Artemis Java Test Sandbox Class Loading Escape","description":"Artemis Java Test Sandbox versions before 1.8.0 are vulnerable to a sandbox escape when an attacker includes class files in a package that Ares trusts. An attacker can abuse this issue to execute arbitrary Java when a victim executes the supposedly sandboxed code.","status":"published","published":"2024-01-19T20:13:55.453Z","modified":"2026-11-08T13:59:59.024Z","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-501","CWE-653"],"updated_at":"2026-11-08T14:43:22.764053Z"}],"euvd":[{"id":"EUVD-2024-0368","description":"Artemis Java Test Sandbox versions before 1.8.0 are vulnerable to a sandbox escape when an attacker includes class files in a package that Ares trusts. An attacker can abuse this issue to execute arbitrary Java when a victim executes the supposedly sandboxed code.","status":"published","published":"2024-01-19T20:13:55Z","modified":"2026-11-08T13:59:59Z","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-227w-wv4j-67h4","title":"Class Loading Vulnerability in Artemis","description":"### Impact\nThis affects all Artemis users who test Java assignments. **Ares is not required.**\nStudents code that gets automatically tested can run arbitrary code in the container,\nor arbitrary code on the machine of an assessor in case of manual correction.\n\n### Patches\nThe problem cannot be resolved easily in Ares itself. Use the Maven Enforcer Plugin as follows:\n\n```xml\n\u003cplugin\u003e\n    \u003cgroupId\u003eorg.apache.maven.plugins\u003c/groupId\u003e\n    \u003cartifactId\u003emaven-enforcer-plugin\u003c/artifactId\u003e\n    \u003cversion\u003e3.0.0\u003c/version\u003e\n    \u003cexecutions\u003e\n        \u003cexecution\u003e\n            \u003cid\u003eenforce-no-student-code-in-trusted-packages\u003c/id\u003e\n            \u003cphase\u003eprocess-classes\u003c/phase\u003e\n            \u003cgoals\u003e\n                \u003cgoal\u003eenforce\u003c/goal\u003e\n            \u003c/goals\u003e\n        \u003c/execution\u003e\n    \u003c/executions\u003e\n    \u003cconfiguration\u003e\n        \u003crules\u003e\n            \u003crequireFilesDontExist\u003e\n                \u003cfiles\u003e\n                    \u003c!-- ADD HERE THE RULES ARES TELLS YOU ARE MISSING --\u003e\n                \u003c/files\u003e\n            \u003c/requireFilesDontExist\u003e\n        \u003c/rules\u003e\n    \u003c/configuration\u003e\n\u003c/plugin\u003e\n```\n\nThis fails the build if student classes reside in such packages that Ares trusts. Trusted packages added in Ares using `@AddTrustedPackage` should be added as well.\n\n### For more information\nIf you have any questions or comments about this advisory:\n* Open a discussion https://github.com/ls1intum/Ares/discussions\n* Open an issue in https://github.com/ls1intum/Ares/issues\n* Email us, see https://github.com/ls1intum/Ares/security/policy\n\n### References\nSee the assignment of Julius that passes the tests in TUM Artemis course: \"Test - Praktikum: Grundlagen der Programmierung (Testkurs für Tutoren) - Security Tests\" (if that still exists in 2022).\n\nAlso see #15 for almost the same problem.","status":"published","published":"2022-02-09T22:30:30Z","modified":"2026-01-22T20:53:44Z","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-501","CWE-653"],"updated_at":"2026-11-02T14:39:19.525691Z"},{"id":"GHSA-hj55-9jmv-9jrj","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-227w-wv4j-67h4. This link is maintained to preserve external references.\n\n## Original Description\nArtemis Java Test Sandbox versions before 1.8.0 are vulnerable to a sandbox escape when an attacker includes class files in a package that Ares trusts. 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:53:30Z","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-501"],"updated_at":"2026-11-02T14:39:19.525691Z"}],"nvd":[{"id":"CVE-2024-23682","description":"Artemis Java Test Sandbox versions before 1.8.0 are vulnerable to a sandbox escape when an attacker includes class files in a package that Ares trusts. 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.273Z","modified":"2026-07-14T23:17:16.21Z","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-501","CWE-653"],"updated_at":"2026-11-02T14:09:32.147098Z"}],"osv":[{"id":"CVE-2024-23682","title":"Artemis Java Test Sandbox Class Loading Escape","description":"Artemis Java Test Sandbox versions before 1.8.0 are vulnerable to a sandbox escape when an attacker includes class files in a package that Ares trusts. An attacker can abuse this issue to execute arbitrary Java when a victim executes the supposedly sandboxed code.","status":"published","published":"2024-01-19T20:13:55.453Z","modified":"2026-11-09T02:45:48.030188279Z","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-501","CWE-653"],"updated_at":"2026-11-09T03:16:26.778234Z"},{"id":"GHSA-227w-wv4j-67h4","title":"Class Loading Vulnerability in Artemis","description":"### Impact\nThis affects all Artemis users who test Java assignments. **Ares is not required.**\nStudents code that gets automatically tested can run arbitrary code in the container,\nor arbitrary code on the machine of an assessor in case of manual correction.\n\n### Patches\nThe problem cannot be resolved easily in Ares itself. Use the Maven Enforcer Plugin as follows:\n\n```xml\n\u003cplugin\u003e\n    \u003cgroupId\u003eorg.apache.maven.plugins\u003c/groupId\u003e\n    \u003cartifactId\u003emaven-enforcer-plugin\u003c/artifactId\u003e\n    \u003cversion\u003e3.0.0\u003c/version\u003e\n    \u003cexecutions\u003e\n        \u003cexecution\u003e\n            \u003cid\u003eenforce-no-student-code-in-trusted-packages\u003c/id\u003e\n            \u003cphase\u003eprocess-classes\u003c/phase\u003e\n            \u003cgoals\u003e\n                \u003cgoal\u003eenforce\u003c/goal\u003e\n            \u003c/goals\u003e\n        \u003c/execution\u003e\n    \u003c/executions\u003e\n    \u003cconfiguration\u003e\n        \u003crules\u003e\n            \u003crequireFilesDontExist\u003e\n                \u003cfiles\u003e\n                    \u003c!-- ADD HERE THE RULES ARES TELLS YOU ARE MISSING --\u003e\n                \u003c/files\u003e\n            \u003c/requireFilesDontExist\u003e\n        \u003c/rules\u003e\n    \u003c/configuration\u003e\n\u003c/plugin\u003e\n```\n\nThis fails the build if student classes reside in such packages that Ares trusts. Trusted packages added in Ares using `@AddTrustedPackage` should be added as well.\n\n### For more information\nIf you have any questions or comments about this advisory:\n* Open a discussion https://github.com/ls1intum/Ares/discussions\n* Open an issue in https://github.com/ls1intum/Ares/issues\n* Email us, see https://github.com/ls1intum/Ares/security/policy\n\n### References\nSee the assignment of Julius that passes the tests in TUM Artemis course: \"Test - Praktikum: Grundlagen der Programmierung (Testkurs für Tutoren) - Security Tests\" (if that still exists in 2022).\n\nAlso see #15 for almost the same problem.","status":"published","published":"2022-02-09T22:30:30Z","modified":"2026-07-08T06:53:07.550376383Z","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-501","CWE-653"],"updated_at":"2026-11-02T15:46:33.520522Z"},{"id":"GHSA-hj55-9jmv-9jrj","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-227w-wv4j-67h4. This link is maintained to preserve external references.\n\n## Original Description\nArtemis Java Test Sandbox versions before 1.8.0 are vulnerable to a sandbox escape when an attacker includes class files in a package that Ares trusts. 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-09-10T03:50:00.362808427Z","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-501"],"updated_at":"2026-11-02T15:46:49.28217Z"}]}}
