<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://vulnerability.circl.lu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-04T22:42:42.535322+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@circl.lu</email>
  </author>
  <link href="https://vulnerability.circl.lu" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/cleanstart-2026-ke95640</id>
    <title>CLEANSTART-2026-KE95640 — JLine is a Java library for handling console input</title>
    <updated>2026-10-04T22:42:42.541035+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> CleanStart: apache-nifi, CleanStart: apache-zookeeper, CleanStart: kafka, CleanStart: elasticsearch</p>
<p>CVE-2026-77420 affects multiple packages. JLine is a Java library for handling console input. See references for individual vulnerability details.</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/cleanstart-2026-ke95640"/>
  </entry>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/fkie_cve-2026-77420</id>
    <title>fkie_cve-2026-77420</title>
    <updated>2026-10-04T22:42:42.541142+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>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.</p>
      </div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/fkie_cve-2026-77420"/>
  </entry>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/ghsa-5q95-hrpc-m3w3</id>
    <title>GHSA-5q95-hrpc-m3w3 — JLine: ReDoS via `HISTORY_IGNORE` Configuration Variable</title>
    <updated>2026-10-04T22:42:42.541199+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Maven: org.jline:jline-reader</p>
<p>### Summary</p>
<p>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.</p>
<p>### Details</p>
<p>In `reader/src/main/java/org/jline/reader/impl/history/DefaultHistory.java`,
`matchPatterns()` converts `HISTORY_IGNORE` into a regex:</p>
<p>```java
for (int i = 0; i &lt; patterns.length(); i++) {
    char ch = patterns.charAt(i);
    if (ch == '\\') {
        ch = patterns.charAt(++i);
        sb.append(ch);
    } else if (ch == ':') {
        sb.append('|');
    } else if (ch == '*') {
        sb.append('.').append('*');
    } else {
        sb.append(ch);
    }
}
return line.matches(sb.toString());
```</p>
<p>This logic translates wildcard syntax but does not escape regex metacharacters such as
`(`, `)`, `+`, `?`, `{`, `}`, `[`, and `]`. Those characters therefore reach the Java
regex engine unchanged.</p>
<p>Affected source location:
- `reader/src/main/java/org/jline/reader/impl/history/DefaultHistory.java`
- `matchPatterns(String patterns, String line)`</p>
<p>### PoC</p>
<p>1. Configure `HISTORY_IGNORE` to a malicious pattern, for example:</p>
<p>```sh
set history-ignore "(a+)+b"
```</p>
<p>2. At the JLine prompt, enter a long non-matching line:</p>
<p>```text
aaaaaaaaaaaaaaaaaaaaaaaaaaax
```</p>
<p>3. Press Enter.</p>
<p>Expected result:
- The prom…</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/ghsa-5q95-hrpc-m3w3"/>
  </entry>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/ubuntu-cve-2026-77420</id>
    <title>UBUNTU-CVE-2026-77420</title>
    <updated>2026-10-04T22:42:42.541301+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Ubuntu:14.04:LTS: jline, Ubuntu:14.04:LTS: jline2, Ubuntu:16.04:LTS: jline, Ubuntu:16.04:LTS: jline2, Ubuntu:18.04:LTS: jline, Ubuntu:18.04:LTS: jline2, Ubuntu:20.04:LTS: jline, Ubuntu:20.04:LTS: jline2, Ubuntu:22.04:LTS: jline, Ubuntu:22.04:LTS: jline2 and 7 more</p>
<p>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.</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/ubuntu-cve-2026-77420"/>
  </entry>
</feed>
