Vulnérabilité dans flatted (CVE-2026-33228)
Résumé
Vulnérabilité dans flatted (CVE-2026-33228). L'exploitation peut entraîner la prise de contrôle totale du système. Atténuation : mise à jour vers 3.4.2 ou plus.
Description d'origine
La description telle que publiée par la source (souvent en anglais).
Summary
The parse() function in flatted can use attacker-controlled string values from the parsed JSON as direct array index
keys, without validating that they are numeric. Since the internal input buffer is a JavaScript Array, accessing it
with the key "__proto__" returns Array.prototype via the inherited getter. This object is then treated as a legitimate
parsed value and assigned as a property of the output object, effectively leaking a live reference to Array.prototype
to the consumer. Any code that subsequently writes to that property will pollute the global prototype.
Root Cause
File: esm/index.js:29 (identical in cjs/index.js)
const resolver = (input, lazy, parsed, $) => output => {
for (let ke = keys(output), {length} = ke, y = 0; y < length; y++) {
const k = ke[y];
const value = output[k];
if (value instanceof Primitive) {
const tmp = input[value]; // Bug is here
No validation that value is a safe numeric index input is built as a plain Array. JavaScript's property lookup on arrays traverses the prototype chain for non-numeric keys. The key "__proto__" resolves to Array.prototype, which:
- has type "object" → passes the typeof tmp === object guard at line 30
- is not in the parsed Set yet → passes the !parsed.has(tmp) guard.
- The reference to Array.prototype is then enqueued in lazy and later unconditionally assigned to the output object.
**Replication St…
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-33228 a été découverte dans flatted.
L'exploitation peut entraîner la prise de contrôle totale du système. Score CVSS : 9.8/10.
Action : mettez à jour flatted vers 3.4.2 ou supérieur.
En cas de doute, contactez votre service informatique ou cherchez « flatted CVE-2026-33228 » sur le site de l'éditeur.
CVE-2026-33228 (flatted) — CWE-915 / CVSS v3 9.8
Vecteur d'attaque : distant (réseau) / non authentifié / sans interaction utilisateur
Correctif : 3.4.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.
Une vulnérabilité (CWE-915) affecte flatted.
Consultez l'avis de l'éditeur pour les versions affectées de flatted.
Gravité : Critique (CVSS 9.8/10). L'exploitation peut entraîner la prise de contrôle totale du système.
Mettre à jour vers 3.4.2.
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
grep -r 'flatted' . | grep -v node_modulesリポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で
flattedを grep し、稼働しているサービス・バージョンを把握する。 -
2Apply patch patch
Upgrade flatted to 3.4.2ステージング環境で 3.4.2 に上げて回帰テスト → 本番反映。回帰テストはアプリの主要ハッピーパスを含めること。
-
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-33228 node-flatted
- Ubuntu UBUNTU-CVE-2026-33228 node-flatted
Références
- advisory nvd.nist.gov
- package github.com
- web github.com
- web github.com
- web github.com
- web access.redhat.com
- web access.redhat.com
- web access.redhat.com
- web bugzilla.redhat.com
- web security.access.redhat.com
- web access.redhat.com
- web github.com