RCE vulnerability in SCM Filter Jervis PluginGHSA-4hhq-j3xw-wj89
HIGHFix: jenkinsci/scm-filter-jervis-plugin@a36e8bdGHSA-4hhq-j3xw-wj89 is a high-severity (CVSS 8.8) Deserialization of Untrusted Data vulnerability in io.jenkins.plugins:scm-filter-jervis. A fix is available for io.jenkins.plugins:scm-filter-jervis — see the affected versions and patch details below.
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
How urgent is this, really
Where this sits among everything scored
Real-World Exposure
io.jenkins.plugins:scm-filter-jervisReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects Maven packages — download data is not available via public APIs for these ecosystems.
Description
SCM Filter Jervis Plugin 0.2.1 and earlier does not configure its YAML parser to prevent the instantiation of arbitrary types. This results in a remote code execution (RCE) vulnerability exploitable by users able to configure jobs with the filter, or control the contents of a previously configured job’s SCM repository.
SCM Filter Jervis Plugin 0.3 configures its YAML parser to only instantiate safe types.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| ☕Maven | io.jenkins.plugins:scm-filter-jervis | all versions | 0.3io.jenkins.plugins:scm-filter-jervis:0.3 |
Affected Products
source code management filter jervisjenkinsDetection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for io.jenkins.plugins:scm-filter-jervis, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update io.jenkins.plugins:scm-filter-jervis to 0.3 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-4hhq-j3xw-wj89 is resolved across your whole dependency graph.
Workarounds
Do not deserialise data from untrusted sources: where the format allows it, restrict deserialisation to an explicit allowlist of expected types, and prefer a data-only format (JSON, Protobuf) over one that can reconstruct arbitrary objects until you can upgrade.
Frequently Asked Questions
Is GHSA-4hhq-j3xw-wj89 in your dependencies?
Find it across Maven, including transitive dependencies.