Vulnérabilité dans org.jline:jline-reader (CVE-2026-77420)
Résumé
Vulnérabilité dans org.jline:jline-reader (CVE-2026-77420). Risque d'opérations non autorisées ou de divulgation. Exploitable via HISTORY_IGNORE. Atténuation : mise à jour vers 3.30.15 ou plus.
Description d'origine
La description telle que publiée par la source (souvent en anglais).
Summary
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.
Details
In reader/src/main/java/org/jline/reader/impl/history/DefaultHistory.java,
matchPatterns() converts HISTORY_IGNORE into a regex:
for (int i = 0; i < 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());
This logic translates wildcard syntax but does not escape regex metacharacters such as
(, ), +, ?, {, }, [, and ]. Those characters therefore reach the Java
regex engine unchanged.
Affected source location:
reader/src/main/java/org/jline/reader/impl/history/DefaultHistory.javamatchPatterns(String patterns, String line)
PoC
- Configure
HISTORY_IGNOREto a malicious pattern, for example:
set history-ignore "(a+)+b"
- At the JLine prompt, enter a long non-matching line:
aaaaaaaaaaaaaaaaaaaaaaaaaaax
- Press Enter.
Expected result:
- The promp…
Source: NIST National Vulnerability Database NVD GitHub Advisory
Résumé généré automatiquement
Assemblé par SecPulse à partir des données sources (CVSS, CWE, versions affectées) à l'aide de modèles, sans IA. Vérifiez la description d'origine et les références ci-dessous.
Une vulnérabilité référencée CVE-2026-77420 a été découverte dans org.jline:jline-reader.
Des attaquants peuvent cibler un point d'entrée spécifique comme HISTORY_IGNORE à distance pour détourner le produit.
Risque d'opérations non autorisées ou de divulgation. Score CVSS : 5.5/10.
Action : mettez à jour org.jline:jline-reader vers 3.30.15 ou supérieur.
En cas de doute, contactez votre service informatique ou cherchez « org.jline:jline-reader CVE-2026-77420 » sur le site de l'éditeur.
CVE-2026-77420 (org.jline:jline-reader) — CWE-1333 / CVSS v3 5.5
Vecteur d'attaque : local / sans interaction utilisateur
Surface d'attaque : HISTORY_IGNORE
Correctif : 3.30.15 — appliquer immédiatement
Plan : 1) Audit SBOM, 2) Mise à jour staging→prod, 3) Surveillance WAF/proxy sur les endpoints affectés, 4) Recherche d'IOC dans les logs.
Réfs : voir GHSA / avis éditeur / version corrigée liés sur cette page.
Une vulnérabilité (CWE-1333) affecte org.jline:jline-reader. Les attaquants atteignent le code vulnérable via HISTORY_IGNORE.
Consultez l'avis de l'éditeur pour les versions affectées de org.jline:jline-reader. Surface d'attaque : HISTORY_IGNORE.
Gravité : Moyenne (CVSS 5.5/10). Risque d'opérations non autorisées ou de divulgation.
Mettre à jour vers 3.30.15.
En attendant le correctif : désactivez la fonctionnalité concernée, appliquez des règles WAF, ou restreignez l'accès par ACL réseau.
Recherchez dans les logs des requêtes correspondant aux IOC connus de cette CVE. Auditez les SBOM/dépendances.
Actions de réponse
Étapes concrètes et exemples de commandes que les équipes SOC/SRE doivent exécuter dans l'ordre
-
1Identify exposure identify
Audit SBOM/dependencies for affected components.資産台帳・SBOM・依存マニフェストで org.jline:jline-reader を使っているサービスとバージョンを洗い出す。
-
2Apply patch patch
Upgrade org.jline:jline-reader to 3.30.15ステージング環境で 3.30.15 に上げて回帰テスト → 本番反映。回帰テストはアプリの主要ハッピーパスを含めること。
-
3Post-deployment verification verify
Confirm patched version is live in productionパッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番ではアクセスログ・WAF でアラート再発が無いか継続監視。
Paquets affectés
État des correctifs par distribution
Paquets corrigés publiés par chaque distribution pour cette CVE
- Debian DEBIAN-CVE-2026-77420 jline3
- Ubuntu UBUNTU-CVE-2026-77420 jline
Références
- web github.com
- web github.com
- web github.com
- web github.com
- web github.com
- web github.com
- web github.com
- web github.com