CVE-2026-77420: JLine: ReDoS via `HISTORY_IGNORE` Configuration Variable
The JLine3 HISTORY_IGNORE variable is converted into a Java regular expression with
only partial escaping. As a result, regex metacharacters other than * and : are
passed through to the regex engine. A crafted value such as (a+)+b can cause
catastrophic backtracking each time a command line is added to history, hanging the
reader thread at high CPU.
References
- github.com/advisories/GHSA-5q95-hrpc-m3w3
- github.com/jline/jline3/commit/1d5fc3099e77938b971e197211cad2d4fbb17541
- github.com/jline/jline3/commit/341ee69ccc57b7733c1b40d6993219b64b3206ae
- github.com/jline/jline3/pull/2012
- github.com/jline/jline3/pull/2018
- github.com/jline/jline3/releases/tag/4.3.1
- github.com/jline/jline3/releases/tag/jline-3.30.15
- github.com/jline/jline3/security/advisories/GHSA-5q95-hrpc-m3w3
- nvd.nist.gov/vuln/detail/CVE-2026-77420
Code Behaviors & Features
Detect and mitigate CVE-2026-77420 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →