Catégories
CVE-2026-62324 medium CVSS 5.4

XSS (Cross-Site Scripting) dans jodit (CVE-2026-62324)

Résumé

XSS dans jodit (CVE-2026-62324). Risque d'opérations non autorisées ou de divulgation. Exploitable via sanitizeHTMLElement. Atténuation : mise à jour vers 4.12.31 ou plus.

Description d'origine

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

Summary

jodit's sanitizeHTMLElement neutralizes a javascript: href using a bare href.trim().indexOf('javascript') === 0 check. This omits the normalization jodit applies to every other URL attribute: isDangerousUrl strips control bytes with value.replace(/[\u0000-\u0020]+/g, '') and lowercases the value before testing the scheme. Because the href check does neither, it is bypassed by three obfuscation classes, all confirmed firing on click against the shipped 4.12.30 build:

  1. Case variants: JAVASCRIPT:, Javascript:, jaVaScRiPt: (the check is case-sensitive).
  2. A leading C0 control byte, e.g. a \x01 prefix before lowercase javascript: (trim() does not remove bytes in the \x00-\x08 / \x0e-\x1f range, but the browser strips a leading control byte before resolving the scheme).
  3. An embedded tab or newline inside the scheme, e.g. java\tscript: or java\nscript: (the browser strips tab/newline from a URL, but indexOf('javascript') sees the broken word and does not match).

The dangerous href survives editor.value = assignment and the on-change LazyWalker, persisting in the stored editor value. A victim who clicks the link in any consumer that renders the stored value (readonly editor, server-rendered page, innerHTML consumer) runs attacker-controlled JS in that page's origin.

Details

The check is in sanitizeHTMLElement at src/core/helpers/html/safe-html.ts:213:

if (safeJavaScriptLink && href && href.trim().indexOf…

Source: GitHub Security Advisories (Global) 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-62324 a été découverte dans jodit.
Des attaquants peuvent cibler un point d'entrée spécifique comme sanitizeHTMLElement à distance pour détourner le produit.
Risque d'opérations non autorisées ou de divulgation. Score CVSS : 5.4/10.
Action : mettez à jour jodit vers 4.12.31 ou supérieur.
En cas de doute, contactez votre service informatique ou cherchez « jodit CVE-2026-62324 » sur le site de l'éditeur.

CVE-2026-62324 (jodit) — CWE-79 / CVSS v3 5.4
Vecteur d'attaque : distant (réseau)
Surface d'attaque : sanitizeHTMLElement / href / isDangerousUrl / innerHTML
Correctif : 4.12.31 — 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 XSS (CWE-79) affecte jodit. Les attaquants atteignent le code vulnérable via sanitizeHTMLElement.

📍 Périmètre concerné

Consultez l'avis de l'éditeur pour les versions affectées de jodit. Surface d'attaque : sanitizeHTMLElement / href / isDangerousUrl / innerHTML.

🔥 Gravité

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

🔧 Comment corriger

Mettre à jour vers 4.12.31.

🛡️ 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
    grep -r 'jodit' . | grep -v node_modules

    リポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で jodit を grep し、稼働しているサービス・バージョンを把握する。

  2. 2
    Apply patch patch
    Upgrade jodit to 4.12.31

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

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

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

Paquets affectés

npm jodit
[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"4.12.31"}]}]

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