CVE-2026-77422 json
JLine: ReDoS in Built-in grep Command Amplified by Automatic `.*` Wrapping
published 2026-09-23 46 d ago modified 2026-09-30 39 d ago also GHSA-r2xf-8xr9-62gw , EUVD-2026-85527
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.6%
- EPSS 0.6% chance of exploitation in 30 days, percentile 48%
- public exploits
- 0
- none known
Summary
JLine is a Java library for handling console input. From 3.0.0 until 3.30.15 and 4.3.1, the JLine built-in grep command in builtins/src/main/java/org/jline/builtins/PosixCommands.java accepts a user-controlled regular expression in grep(...) and, unless line-regexp mode is used, automatically adds a dot-star prefix and suffix before compiling it with Java's backtracking regular expression engine. The wrapping expands the backtracking search space, so a short nested-quantifier expression evaluated against non-matching input can consume excessive CPU and indefinitely block a command worker, including in remotely exposed shell sessions. This issue is fixed in versions 3.30.15 and 4.3.1.
Patch / fix
- maven org.jline:jline-builtins 3.30.15, 4.3.1
- github.com/jline/jline3@1d5fc30 commit
- github.com/jline/jline3@341ee69 commit
- github.com/jline/jline3#2012 pull request
- github.com/jline/jline3#2018 pull request
- github.com/jline/jline3/releases/tag/4.3.1 release
- github.com/jline/jline3/releases/tag/jline-3.30.15 release
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-77422 updated cvss 7.5
org.jline/jline: JLine: Denial of Service via regular expression processing in built-in grep command
-
Red Hat Fuse 7 jline 3.22.0affected: workaround, no fix planned “Out of support scope”
-
Red Hat OpenShift AI (RHOAI) rhoai/odh-spark-operator-rhel9affected: workaround, no fix available
-
Red Hat OpenStack Platform 13 (Queens) opendaylightaffected: workaround, no fix planned “Will not fix”
-
Red Hat OpenShift AI (RHOAI) rhoai/odh-th-torch-cpu-py312-rhel9, rhoai/odh-th-torch-cuda-py312-rhel9, rhoai/odh-th06-cpu-torch210-py312-rhel9, rhoai/odh-th06-cpu-torch291-py312-rhel9, rhoai/odh-th06-rocm64-torch291-py312-rhel9, rhoai/odh-th06-cuda130-torch210-py312-rhel9, +1 morenot affected: vulnerable code not in execute path
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 45 d ago
Exploit prediction
0.60% chance of exploitation in the next 30 days, higher than 48% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/jline/jline3/security/advisories/GHSA-r2xf-8xr9-62gw referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| GitHub | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| maven | org.jline:jline-builtins | >=4.0.0, <4.3.1 >=3.0.0, <3.30.15 |
4.3.1 3.30.15 |
Affected products
- jline jline3
Classification
- Weakness
-
- CWE-1333 Inefficient Regular Expression Complexity
References
-
github.com
/jline/jline3/pull/2012
web
-
github.com
/jline/jline3/pull/2018
web
-
github.com
/jline/jline3/commit/1d5fc3099e77938b971e197211cad2d4fbb17541
web
-
github.com
/jline/jline3/commit/341ee69ccc57b7733c1b40d6993219b64b3206ae
web
-
github.com
/jline/jline3/security/advisories/GHSA-r2xf-8xr9-62gw
exploit, web
-
github.com
/jline/jline3/releases/tag/4.3.1
web
-
github.com
/jline/jline3/releases/tag/jline-3.30.15
web
-
github.com
/jline/jline3
package
Sources
- CVE List CVE-2026-77422
- GitHub Advisory GHSA-r2xf-8xr9-62gw
- NVD CVE-2026-77422
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.