Skip to main content
← All vulnerabilities
CVE-2026-77420GHSA-5Q95-HRPC-M3W3

JLine: ReDoS via `HISTORY_IGNORE` Configuration Variable

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 3.30.15, 4.3.1
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: no
  • Technical impact: partial

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 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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • jline jline3

    From 3.0.0 · fixed in 3.30.15; From 4.0.0 · fixed in 4.3.1

  • org.jline:jline-readerMaven

    From 4.0.0 · fixed in 4.3.1

  • org.jline:jline-readerMaven

    From 3.0.0 · fixed in 3.30.15

References 7

GitHub · jline/jline3