Description
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.
Published: 2026-09-23
Score: 5.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service
Action: Apply Patch
AI Analysis

Impact

JLine is a Java library that manages console input. A flaw in the DefaultHistory.matchPatterns function allows the HISTORY_IGNORE configuration value to be converted into a Java regular expression with incomplete escaping. An attacker who can control the configuration can supply a nested‑quantifier regex. Each time a command is added to history, the malformed expression triggers catastrophic backtracking, consuming excessive CPU resources and indefinitely blocking the reader thread, resulting in a denial‑of‑service condition.

Affected Systems

The vulnerability exists in the JLine library for versions from 3.0.0 up to but excluding 3.30.15 and any 4.x series before 4.3.1. Users running any of these releases on Java applications that load user or application configuration are affected.

Risk and Exploitability

The CVSS score of 5.5 indicates moderate risk. EPSS data is not available, and the issue is not listed in CISA’s KEV catalog, suggesting no immediately known widespread exploitation. The attack vector requires the adversary to influence the configuration or user‑supplied HISTORY_IGNORE setting; once active, the flaw causes resource exhaustion via regular expression backtracking. While it does not grant code execution, it can disable interactive console input, effectively denying service to the affected user or application.

Generated by OpenCVE AI on September 23, 2026 at 20:32 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade JLine to version 3.30.15 or 4.3.1 or later, where the regex handling has been fixed.
  • If an upgrade is impossible, remove or neutralize any user‑supplied HISTORY_IGNORE patterns that could contain nested quantifiers; ensure that configuration values are validated or sanitized before use.
  • Enforce stricter input validation on configuration files to prevent injection of regex metacharacters into the HISTORY_IGNORE setting.

Generated by OpenCVE AI on September 23, 2026 at 20:32 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-5q95-hrpc-m3w3 JLine: ReDoS via `HISTORY_IGNORE` Configuration Variable
History

Tue, 29 Sep 2026 02:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Sun, 27 Sep 2026 12:15:00 +0000

Type Values Removed Values Added
First Time appeared Jline
Jline jline
Vendors & Products Jline
Jline jline

Thu, 24 Sep 2026 12:15:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

threat_severity

Moderate


Wed, 23 Sep 2026 18:30:00 +0000

Type Values Removed Values Added
Description 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.
Title JLine: ReDoS via `HISTORY_IGNORE` Configuration Variable
Weaknesses CWE-1333
References
Metrics cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-09-29T02:05:26.410Z

Reserved: 2026-08-20T19:59:59.603Z

Link: CVE-2026-77420

cve-icon Vulnrichment

Updated: 2026-09-29T02:05:20.786Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-09-23T19:19:15.510

Modified: 2026-09-30T19:38:27.293

Link: CVE-2026-77420

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-09-23T18:11:25Z

Links: CVE-2026-77420 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-27T11:45:48Z

Weaknesses
  • CWE-1333

    Inefficient Regular Expression Complexity