The vulnerability stems from improper sandbox enforcement when handling return values from sandboxed scripts. The commit diff shows an upgrade to groovy-sandbox 1.27, which introduced proper interception of method calls on sandbox-defined objects. The added test case 'unsafeReturnValue' demonstrates that prior versions allowed invoking methods (like toString()) on objects created in sandboxed scripts without security checks. The core issue was in the interceptor logic (likely in SandboxInterceptor) that failed to apply sandbox protections to these cross-context method calls. The vulnerability is tied to the plugin's dependency on an outdated groovy-sandbox version (1.26), which lacked proper interception for return value processing.
| Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
|---|---|---|---|
| org.jenkins-ci.plugins:script-security | maven | >= 1.67, < 1.75 | 1.75 |
| org.jenkins-ci.plugins:script-security | maven | < 1.66.5 | 1.66.5 |
Ongoing coverage of React2Shell