Catégories
CVE-2026-106453 medium CVSS 5.3

Vulnérabilité dans at.yawk.lz4:lz4-java (CVE-2026-106453)

Résumé

Vulnérabilité dans at.yawk.lz4:lz4-java (CVE-2026-106453). Risque d'opérations non autorisées ou de divulgation. Exploitable via net.jpountz.lz4.LZ4DecompressorWithLength. Atténuation : mise à jour vers 1.11.2 ou plus.

Description d'origine

La description telle que publiée par la source (souvent en anglais).

Summary

LZ4DecompressorWithLength.decompress(byte[], int) allocates whatever size the 4-byte length header declares, before it reads a single byte of compressed data. A 5-byte input whose header says 0x40000000 makes the JVM commit a gigabyte and can cause heap exhaustion.

Details

net.jpountz.lz4.LZ4DecompressorWithLength reads the header and passes it straight on:

final int destLen = getDecompressedLength(src, srcOff);
return fastDecompressor.decompress(src, srcOff + 4, destLen);

and net.jpountz.lz4.LZ4FastDecompressor allocates it:

public final byte[] decompress(byte[] src, int srcOff, int destLen) {
  final byte[] decompressed = new byte[destLen];
  decompress(src, srcOff, decompressed, 0, destLen);
  return decompressed;
}

getDecompressedLength performs no validation: no comparison against src.length, no ceiling, no rejection of negatives. LZ4SafeDecompressor.decompress(byte[], int, int, int) has the same shape with maxDestLen.

The sibling overload that callers pass their own buffer to, decompress(src, srcOff, dest, destOff, destLen), is fine, because there destLen is chosen by the caller rather than by the input. The bug is specific to the convenience overloads that take the size from the header, and that difference is the whole finding.

Impact

Any application that decompresses attacker-supplied LZ4 frames through the with-length convenience API can be made to allocate up to 2 GiB per call from a 5-byte me…

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-106453 a été découverte dans at.yawk.lz4:lz4-java.
Des attaquants peuvent cibler un point d'entrée spécifique comme net.jpountz.lz4.LZ4DecompressorWithLength à distance pour détourner le produit.
Risque d'opérations non autorisées ou de divulgation. Score CVSS : 5.3/10.
Action : mettez à jour at.yawk.lz4:lz4-java vers 1.11.2 ou supérieur.
En cas de doute, contactez votre service informatique ou cherchez « at.yawk.lz4:lz4-java CVE-2026-106453 » sur le site de l'éditeur.

CVE-2026-106453 (at.yawk.lz4:lz4-java) — CWE-789 / CVSS v3 5.3
Vecteur d'attaque : distant (réseau) / non authentifié / sans interaction utilisateur
Surface d'attaque : net.jpountz.lz4.LZ4DecompressorWithLength / net.jpountz.lz4.LZ4FastDecompressor / getDecompressedLength / src.length
Correctif : 1.11.2 — 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-789) affecte at.yawk.lz4:lz4-java. Les attaquants atteignent le code vulnérable via net.jpountz.lz4.LZ4DecompressorWithLength sans authentification.

📍 Périmètre concerné

Consultez l'avis de l'éditeur pour les versions affectées de at.yawk.lz4:lz4-java. Surface d'attaque : net.jpountz.lz4.LZ4DecompressorWithLength / net.jpountz.lz4.LZ4FastDecompressor / getDecompressedLength / src.length.

🔥 Gravité

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

🔧 Comment corriger

Mettre à jour vers 1.11.2.

🛡️ 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・依存マニフェストで at.yawk.lz4:lz4-java を使っているサービスとバージョンを洗い出す。

  2. 2
    Apply patch patch
    Upgrade at.yawk.lz4:lz4-java to 1.11.2

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

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

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

Paquets affectés

maven at.yawk.lz4:lz4-java
[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.11.2"}]}]
maven org.lz4:lz4-java
[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}]

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