ghsa-gj3q-p8cm-26rm
Vulnerability from github
Sandbox protection in Script Security Plugin 1.70 and earlier can be circumvented through:
- Crafted constructor calls and bodies (due to an incomplete fix of SECURITY-582)
- Crafted method calls on objects that implement GroovyInterceptable
This allows attackers able to specify and run sandboxed scripts to execute arbitrary code in the context of the Jenkins controller JVM.
Script Security Plugin 1.71 has additional restrictions and sanity checks to ensure that super constructors cannot be constructed without being intercepted by the sandbox. In addition, it also intercepts method calls on objects that implement GroovyInterceptable
as calls to GroovyObject#invokeMethod(String, Object)
, which is on the list of dangerous signatures and should not be approved for use in the sandbox.
{ "affected": [ { "package": { "ecosystem": "Maven", "name": "org.jenkins-ci.plugins:script-security" }, "ranges": [ { "events": [ { "introduced": "0" }, { "fixed": "1.7.1" } ], "type": "ECOSYSTEM" } ] } ], "aliases": [ "CVE-2020-2134" ], "database_specific": { "cwe_ids": [ "CWE-693", "CWE-863" ], "github_reviewed": true, "github_reviewed_at": "2023-01-14T05:19:37Z", "nvd_published_at": "2020-03-09T16:15:00Z", "severity": "HIGH" }, "details": "Sandbox protection in Script Security Plugin 1.70 and earlier can be circumvented through:\n- Crafted constructor calls and bodies (due to an incomplete fix of [SECURITY-582](https://www.jenkins.io/security/advisory/2017-08-07/#super-constructor-calls))\n- Crafted method calls on objects that implement `GroovyInterceptable`\n\nThis allows attackers able to specify and run sandboxed scripts to execute arbitrary code in the context of the Jenkins controller JVM.\n\nScript Security Plugin 1.71 has additional restrictions and sanity checks to ensure that super constructors cannot be constructed without being intercepted by the sandbox. In addition, it also intercepts method calls on objects that implement `GroovyInterceptable` as calls to `GroovyObject#invokeMethod(String, Object)`, which is on the list of dangerous signatures and should not be approved for use in the sandbox.", "id": "GHSA-gj3q-p8cm-26rm", "modified": "2023-01-14T05:19:37Z", "published": "2022-05-24T17:10:27Z", "references": [ { "type": "ADVISORY", "url": "https://nvd.nist.gov/vuln/detail/CVE-2020-2134" }, { "type": "WEB", "url": "https://github.com/jenkinsci/script-security-plugin/commit/5b1969e0bdf5cde04a165b847144756b28495788" }, { "type": "PACKAGE", "url": "https://github.com/jenkinsci/script-security-plugin" }, { "type": "WEB", "url": "https://jenkins.io/security/advisory/2020-03-09/#SECURITY-1754" }, { "type": "WEB", "url": "http://www.openwall.com/lists/oss-security/2020/03/09/1" } ], "schema_version": "1.4.0", "severity": [ { "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", "type": "CVSS_V3" } ], "summary": "Sandbox bypass vulnerability in Script Security Plugin" }
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.