Sandbox bypass vulnerability in Script Security Plugin
High severity
GitHub Reviewed
Published
May 24, 2022
to the GitHub Advisory Database
•
Updated Dec 22, 2023
Package
Affected versions
<= 1.70
Patched versions
1.71
Description
Published by the National Vulnerability Database
Mar 9, 2020
Published to the GitHub Advisory Database
May 24, 2022
Reviewed
Jan 5, 2023
Last updated
Dec 22, 2023
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)
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 toGroovyObject#invokeMethod(String, Object)
, which is on the list of dangerous signatures and should not be approved for use in the sandbox.References