Catégories
CVE-2026-77420 medium CVSS 5.5

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.java
  • matchPatterns(String patterns, String line)

PoC

  1. Configure HISTORY_IGNORE to a malicious pattern, for example:
set history-ignore "(a+)+b"
  1. At the JLine prompt, enter a long non-matching line:
aaaaaaaaaaaaaaaaaaaaaaaaaaax
  1. 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.

❓ Quel est le problème

Une vulnérabilité (CWE-1333) affecte org.jline:jline-reader. Les attaquants atteignent le code vulnérable via HISTORY_IGNORE.

📍 Périmètre concerné

Consultez l'avis de l'éditeur pour les versions affectées de org.jline:jline-reader. Surface d'attaque : HISTORY_IGNORE.

🔥 Gravité

Gravité : Moyenne (CVSS 5.5/10). Risque d'opérations non autorisées ou de divulgation.

🔧 Comment corriger

Mettre à jour vers 3.30.15.

🛡️ Contournement

En attendant le correctif : désactivez la fonctionnalité concernée, appliquez des règles WAF, ou restreignez l'accès par ACL réseau.

🔍 Détection

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

  1. 1
    Identify exposure identify
    Audit SBOM/dependencies for affected components.

    資産台帳・SBOM・依存マニフェストで org.jline:jline-reader を使っているサービスとバージョンを洗い出す。

  2. 2
    Apply patch patch
    Upgrade org.jline:jline-reader to 3.30.15

    ステージング環境で 3.30.15 に上げて回帰テスト → 本番反映。回帰テストはアプリの主要ハッピーパスを含めること。

  3. 3
    Post-deployment verification verify
    Confirm patched version is live in production

    パッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番ではアクセスログ・WAF でアラート再発が無いか継続監視。

Paquets affectés

maven org.jline:jline-reader
[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.30.15"}]}]

État des correctifs par distribution

Paquets corrigés publiés par chaque distribution pour cette CVE

Références

Nous utilisons des cookies pour l'analyse d'audience et la mesure publicitaire. Ce réglage s'applique à tous les sites de Game co., Ltd. En savoir plus