{"id":"CVE-2020-2109","aliases":["EUVD-2022-3340","GHSA-99mf-f3qh-wqrp","RHSA-2020:2478","RHSA-2020:2737","RHSA-2020:3616"],"status":"published","title":"Improper Input Validation in Jenkins Pipeline: Groovy Plugin","description":"Sandbox protection in Jenkins Pipeline: Groovy Plugin 2.78 and earlier can be circumvented through default parameter expressions in CPS-transformed methods.","severity":{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-11","score":0.01257,"percentile":0.69923,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-20"],"published":"2020-02-12T14:35:40Z","modified":"2026-10-24T10:30:59Z","fixes":[{"ecosystem":"Maven","package":"org.jenkins-ci.plugins.workflow:workflow-cps","fixed_in":["2.79"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"Maven","package":"org.jenkins-ci.plugins.workflow:workflow-cps","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"2.78"},{"fixed":"2.79"}]}]},{"source":"osv","ecosystem":"Maven","package":"org.jenkins-ci.plugins.workflow:workflow-cps","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.79"}]}],"versions":["0.1-beta-1","0.1-beta-2","0.1-beta-3","0.1-beta-4","0.1-beta-5","0.1-beta-6","0.1-beta-7","0.1-beta-8","1.0","1.0-beta-1","1.1","1.10","1.10-beta-1","1.10.1","1.11","1.11-beta-1","1.11-beta-2","1.11-beta-3","1.11-beta-4","1.12","1.12-beta-1","1.12-beta-2","1.12-beta-3","1.13","1.14","1.14-beta-1","1.14.1","1.14.1-beta-1","1.14.2","1.15","1.15-beta-1","1.2","1.3","1.4","1.4.1","1.4.2","1.4.3","1.4.3-beta-1","1.5","1.6","1.6-alpha-1","1.7","1.7-alpha-1","1.8","1.9","1.9-beta-1","2.0","2.1","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.17","2.18","2.19","2.2","2.20","2.21","2.22","2.23","2.24","2.25","2.26","2.27","2.28","2.29","2.3","2.30","2.30-stepstorage2-alpha","2.30-stepstorage2-alpha2","2.30-stepstorage4-beta","2.31","2.32","2.33","2.34","2.35","2.36","2.36.1","2.37","2.38","2.39","2.4","2.40","2.41","2.42","2.43","2.43-durability-beta-1","2.43-durability-beta-2","2.43-durability-beta-3","2.43-durability-beta-4","2.44","2.45","2.46","2.46.1","2.46.2","2.47","2.48","2.49","2.5","2.50","2.51","2.52","2.53","2.54","2.54.1","2.54.2","2.55","2.56","2.57","2.57.1","2.57.2","2.57.3","2.58","2.58-beta-1","2.59","2.6","2.60","2.61","2.61.1","2.61.2","2.61.3","2.62","2.63","2.64","2.65","2.66","2.66.1","2.67","2.68","2.69","2.7","2.70","2.71","2.72","2.73","2.74","2.74.1","2.75","2.76","2.77","2.78","2.8","2.9"]},{"source":"osv","ecosystem":"Red Hat:openshift:3.11::el7","package":"jenkins-2-plugins","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.11.1591354111-1.el7"}]}],"bundled":8},{"source":"osv","ecosystem":"Red Hat:openshift:4.4::el7","package":"jenkins-2-plugins","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:4.4.1592817009-1.el7"}]}],"bundled":7},{"source":"osv","ecosystem":"Red Hat:openshift:4.3::el7","package":"jenkins-2-plugins","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:4.3.1597915133-1.el7"}]}],"bundled":7}],"products":[{"vendor":"jenkins","product":"pipeline\\"},{"vendor":"jenkins project","product":"jenkins pipeline: groovy plugin"}],"references":[{"url":"https://jenkins.io/security/advisory/2020-02-12/#SECURITY-1710","tags":["x_refsource_CONFIRM","x_transferred","Vendor Advisory","advisory","web","article"]},{"url":"http://www.openwall.com/lists/oss-security/2020/02/12/3","tags":["mailing-list","x_refsource_MLIST","x_transferred","Mailing List","Third Party Advisory","advisory","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-2109","tags":["advisory"]},{"url":"https://github.com/jenkinsci/workflow-cps-plugin/commit/41cb4e05eed6a901d0c8a8b0a460111a64c5e179","tags":["web"]},{"url":"https://github.com/jenkinsci/workflow-cps-plugin/commit/90b7f403882e1cab1dec49a011e377f440f8e003","tags":["web"]},{"url":"https://github.com/advisories/GHSA-99mf-f3qh-wqrp"},{"url":"https://access.redhat.com/errata/RHSA-2020:2478","tags":["advisory"]},{"url":"https://access.redhat.com/security/updates/classification/#important","tags":["article"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=1819074","tags":["report"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=1819078","tags":["report"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=1819091","tags":["report"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=1819093","tags":["report"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=1819095","tags":["report"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=1819105","tags":["report"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=1819652","tags":["report"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=1819704","tags":["report"]},{"url":"https://security.access.redhat.com/data/csaf/v2/advisories/2020/rhsa-2020_2478.json","tags":["advisory"]},{"url":"https://access.redhat.com/security/cve/CVE-2019-10392","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2019-10392","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2019-10392","tags":["advisory"]},{"url":"https://jenkins.io/security/advisory/2019-09-12/#SECURITY-1534","tags":["article"]},{"url":"https://access.redhat.com/security/cve/CVE-2019-16538","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2019-16538","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2019-16538","tags":["advisory"]},{"url":"https://jenkins.io/security/advisory/2019-11-21/#SECURITY-1658","tags":["article"]},{"url":"https://access.redhat.com/security/cve/CVE-2020-2109","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2020-2109","tags":["advisory"]},{"url":"https://access.redhat.com/security/cve/CVE-2020-2110","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2020-2110","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-2110","tags":["advisory"]},{"url":"https://jenkins.io/security/advisory/2020-02-12/#SECURITY-1713","tags":["article"]},{"url":"https://access.redhat.com/security/cve/CVE-2020-2111","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2020-2111","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-2111","tags":["advisory"]},{"url":"https://jenkins.io/security/advisory/2020-02-12/#SECURITY-1725","tags":["article"]},{"url":"https://access.redhat.com/security/cve/CVE-2020-2134","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2020-2134","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-2134","tags":["advisory"]},{"url":"https://jenkins.io/security/advisory/2020-03-09/#SECURITY-1754","tags":["article"]},{"url":"https://access.redhat.com/security/cve/CVE-2020-2135","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2020-2135","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-2135","tags":["advisory"]},{"url":"https://access.redhat.com/security/cve/CVE-2020-2136","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2020-2136","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-2136","tags":["advisory"]},{"url":"https://jenkins.io/security/advisory/2020-03-09/#SECURITY-1723","tags":["article"]},{"url":"https://access.redhat.com/errata/RHSA-2020:2737","tags":["advisory"]},{"url":"https://security.access.redhat.com/data/csaf/v2/advisories/2020/rhsa-2020_2737.json","tags":["advisory"]},{"url":"https://access.redhat.com/errata/RHSA-2020:3616","tags":["advisory"]},{"url":"https://security.access.redhat.com/data/csaf/v2/advisories/2020/rhsa-2020_3616.json","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2020-2109","description":"Sandbox protection in Jenkins Pipeline: Groovy Plugin 2.78 and earlier can be circumvented through default parameter expressions in CPS-transformed methods.","status":"published","published":"2020-02-12T14:35:40Z","modified":"2024-08-04T07:01:39.732Z","updated_at":"2026-11-02T14:35:51.563355Z"}],"euvd":[{"id":"EUVD-2022-3340","description":"Sandbox protection in Jenkins Pipeline: Groovy Plugin 2.78 and earlier can be circumvented through default parameter expressions in CPS-transformed methods.","status":"published","published":"2020-02-12T14:35:40Z","modified":"2024-08-04T07:01:39Z","updated_at":"2026-11-03T03:08:10.95725Z"}],"ghsa":[{"id":"GHSA-99mf-f3qh-wqrp","title":"Improper Input Validation in Jenkins Pipeline: Groovy Plugin","description":"Sandbox protection in Jenkins Pipeline: Groovy Plugin 2.78 and earlier can be circumvented through default parameter expressions in CPS-transformed methods.","status":"published","published":"2022-05-24T17:08:46Z","modified":"2023-12-06T14:32:55Z","cvss":[{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-20"],"updated_at":"2026-11-02T14:37:24.593982Z"}],"nvd":[{"id":"CVE-2020-2109","description":"Sandbox protection in Jenkins Pipeline: Groovy Plugin 2.78 and earlier can be circumvented through default parameter expressions in CPS-transformed methods.","status":"published","published":"2020-02-12T15:15:12.43Z","modified":"2026-06-17T03:11:46.483Z","cvss":[{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"primary"},{"version":"2.0","score":6.5,"vector":"AV:N/AC:L/Au:S/C:P/I:P/A:P","level":"medium","assessor":"primary"}],"cwes":["CWE-20"],"updated_at":"2026-11-02T14:05:53.837808Z"}],"osv":[{"id":"CVE-2020-2109","description":"Sandbox protection in Jenkins Pipeline: Groovy Plugin 2.78 and earlier can be circumvented through default parameter expressions in CPS-transformed methods.","status":"published","published":"2020-02-12T15:15:12.43Z","modified":"2026-10-24T10:30:59.426246138Z","cvss":[{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:44:15.212689Z"},{"id":"GHSA-99mf-f3qh-wqrp","title":"Improper Input Validation in Jenkins Pipeline: Groovy Plugin","description":"Sandbox protection in Jenkins Pipeline: Groovy Plugin 2.78 and earlier can be circumvented through default parameter expressions in CPS-transformed methods.","status":"published","published":"2022-05-24T17:08:46Z","modified":"2024-02-16T08:24:15.997671Z","cvss":[{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-20"],"updated_at":"2026-11-02T15:46:43.524801Z"},{"id":"RHSA-2020:2478","title":"Red Hat Security Advisory: OpenShift Container Platform 3.11 jenkins-2-plugins security update","status":"published","published":"2024-09-16T04:30:15Z","modified":"2026-06-27T10:10:19Z","cvss":[{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:53:07.072948Z"},{"id":"RHSA-2020:2737","title":"Red Hat Security Advisory: OpenShift Container Platform 4.4.z jenkins-2-plugins security update","status":"published","published":"2024-09-16T04:30:23Z","modified":"2025-11-22T12:03:53Z","cvss":[{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:53:07.072948Z"},{"id":"RHSA-2020:3616","title":"Red Hat Security Advisory: OpenShift Container Platform 4.3.35 jenkins-2-plugins security update","status":"published","published":"2024-09-16T04:30:31Z","modified":"2025-11-22T12:07:15Z","cvss":[{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:53:07.57369Z"}]}}
