{"id":"CVE-2026-77420","title":"JLine is a Java library for handling console input","summary":"JLine is a Java library for handling console input. From 3.0.0 until 3.30.15 and 4.3.1, DefaultHistory.matchPatterns(String patterns, String line) in reader/src/main/java/org/jline/reader/impl/history/DefaultHistory.java converts the HIS…","severity":"medium","cvss":5.5,"cvssVector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H","cwe":["CWE-1333"],"vendor":"jline","product":"jline3","affected":["jline3 >= 3.0.0, < 3.30.15","jline3 >= 4.0.0, < 4.3.1"],"patched":["org.jline:jline-reader 4.3.1","org.jline:jline-reader 3.30.15"],"published":"2026-09-23","updated":"2026-09-23","sourceUpdated":"2026-09-23T19:19:15.510","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-77420","references":[{"url":"https://github.com/jline/jline3/commit/1d5fc3099e77938b971e197211cad2d4fbb17541","label":"security-advisories@github.com"},{"url":"https://github.com/jline/jline3/commit/341ee69ccc57b7733c1b40d6993219b64b3206ae","label":"security-advisories@github.com"},{"url":"https://github.com/jline/jline3/pull/2012","label":"security-advisories@github.com"},{"url":"https://github.com/jline/jline3/pull/2018","label":"security-advisories@github.com"},{"url":"https://github.com/jline/jline3/releases/tag/4.3.1","label":"security-advisories@github.com"},{"url":"https://github.com/jline/jline3/releases/tag/jline-3.30.15","label":"security-advisories@github.com"},{"url":"https://github.com/jline/jline3/security/advisories/GHSA-5q95-hrpc-m3w3","label":"security-advisories@github.com"},{"url":"https://github.com/advisories/GHSA-5q95-hrpc-m3w3"}],"tags":["nvd","cve.org","ghsa","maven"],"aliases":["GHSA-5q95-hrpc-m3w3"],"ecosystem":"maven","ingestedAt":"2026-09-23T18:29:33.152Z","slug":"CVE-2026-77420","body":"## Overview\n\nJLine is a Java library for handling console input. From 3.0.0 until 3.30.15 and 4.3.1, DefaultHistory.matchPatterns(String patterns, String line) in reader/src/main/java/org/jline/reader/impl/history/DefaultHistory.java converts the HISTORY_IGNORE configuration value into a Java regular expression while escaping only part of its syntax, allowing other regex metacharacters to reach the backtracking engine. An attacker who can control application or user configuration can supply a nested-quantifier expression that is reevaluated whenever a command is added to history, consuming excessive CPU and indefinitely blocking the reader thread. This issue is fixed in versions 3.30.15 and 4.3.1.\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.\n\n## Package advisory (CVE-2026-77420)\n\nAffected packages:\n\n- `org.jline:jline-reader >= 4.0.0, < 4.3.1`\n- `org.jline:jline-reader >= 3.0.0, < 3.30.15`\n\nPatched in:\n\n- `org.jline:jline-reader 4.3.1`\n- `org.jline:jline-reader 3.30.15`\n\nSource: https://github.com/advisories/GHSA-5q95-hrpc-m3w3","depth":"sunlit","depthScore":30,"depthScoreParts":{"impact":30.3,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}