Vérificateur de preuves hors ligne pour le cache Next.js concernant GHSA-673q-mjm6-r5xr. Preuves de cache Next.js et de tableaux typés. Python autonome ; rapports JSON/CSV/HTML ; aucune charge utile d'exploitation.
Triage hors ligne pour la RCE de type typed-array dans use-cache de Next.js
GHSA-673q-mjm6-r5xr · hors ligne, fichier unique, sans dépendances
next-cache-rce-check évalue les versions de Next.js déclarées, les métadonnées de dépendances npm et un contexte de code source JS/TS borné au regard de l'avis des mainteneurs pour ce seul problème. Il exporte du JSON canonique, du CSV ou un rapport HTML personnalisé.
Il n'exécute jamais le code du projet, n'invoque aucun gestionnaire de paquets et ne contacte pas le réseau. Il signale l'incertitude honnêtement : une preuve manquante, contradictoire ou nuancée est unknown, jamais « sûr ».
[!IMPORTANT] Une exposition potentielle ne constitue pas une exploitabilité confirmée. Chaque résultat conserve
exploitability: not_tested. Une version déclarée, un lockfile ou un motif de code source ne peut pas démontrer la configuration déployée, les rétroportages du fournisseur ou l'état réel des correctifs. Considérez chaque résultat comme une invitation pour un mainteneur à vérifier.
Il suit l'approche conservatrice de signalement et de licence de node2shell-check et php2shell-check.
L'avis des mainteneurs identifie Next.js 16.0.0 à 16.4.0 comme affectées et 16.4.1 comme corrigée. Ses conditions d'application sont l'App Router, les Cache Components et une fonction use-cache qui renvoie plusieurs typed arrays. Les mainteneurs recommandent la mise à niveau même lorsque l'application ne semble pas contenir de fonctions correspondantes, et ne listent aucun contournement connu pour le code affecté. Voir l'avis et la version 16.4.1.
| Ligne de version | Affectée (déclarée) | Corrigée dans |
|---|---|---|
| Next.js 16.0 à 16.4 | 16.0.0 à 16.4.0 | 16.4.1 |
L'instantané intégré a été vérifié le 2026-10-23 au regard de l'avis des mainteneurs. Aucun identifiant CVE n'avait été attribué dans l'avis au moment de la vérification.
Ce vérificateur ne classe que les versions exactes simples sur les lignes de version 16.0–16.4 vérifiées. Les versions majeures antérieures, les préversions, les versions qualifiées par un fournisseur et les futures lignes 16.5+ restent unknown. Il n'établit pas si une build déclarée a été publiée ni si un rétroportage du fournisseur est présent.
next_cache_rce_check.py, soit un clone de ce dépôt.Aucun Node.js, gestionnaire de paquets, connexion réseau ou paquet tiers n'est nécessaire.
# Compare a version obtained from your deployed dependency.
python next_cache_rce_check.py --next-version 16.4.0
# Inspect a project copy you are authorized to read.
python next_cache_rce_check.py /path/to/project --asset-id service-a
# Save an offline HTML report, with optional branding.
python next_cache_rce_check.py /path/to/project --format html --brand "Example team" --logo team.png --output report.html
# Save canonical JSON for automation; exit 1 on an affected reported version.
python next_cache_rce_check.py /path/to/project --format json --output report.json --fail-on-finding
# Try the artificial fixture without installing anything.
python next_cache_rce_check.py examples/synthetic-project --asset-id synthetic-demo
Le fixture est artificiel et doit signaler potentially_affected (voir examples). Ne l'installez pas et ne le déployez pas.
Fournissez un répertoire de projet, au moins une option --next-version, ou les deux. Il n'y a pas d'analyse implicite du répertoire courant. --help liste tous les arguments et --version affiche la version de l'outil.
| Option | Objectif |
|---|---|
PROJECT | Répertoire racine stable de l'application. À exécuter une fois par application ; les graphes de paquets du workspace et les racines imbriquées arbitraires ne sont pas résolus. |
--next-version VERSION | Une version signalée de l'instance Next.js racine. Répétez pour conserver plusieurs observations ; une divergence est signalée comme un conflit, non résolue. |
--asset-id LABEL | Étiquette non sensible (par défaut project). |
--format {json,csv,html} | Format du rapport (par défaut json). |
--output PATH | Écrit le rapport dans un fichier situé hors du répertoire du projet évalué au lieu de stdout. |
--force | Remplace un fichier de rapport existant. Sans cette option, les fichiers existants sont préservés. |
--brand NAME, --logo PATH | Nom d'affichage HTML (par défaut CompleteTech LLC) et un logo local optionnel PNG/JPEG/GIF/WebP. |
--fail-on-finding, --fail-on-unknown | Code de sortie 1 sur un rapport terminé contenant respectivement des résultats potentially_affected ou unknown. |
Les destinations de rapport doivent se trouver hors du répertoire du projet évalué, y compris lorsque --force est utilisé ; le vérificateur n'écrit jamais dans l'arborescence du projet. Les versions exactes acceptées restent rattachées à leurs sources de preuve individuelles dans JSON, CSV et HTML, même lorsqu'une divergence rend la version sélectionnée inconnue. Pour évaluer une version vérifiée séparément sans métadonnées de projet non prises en charge, utilisez --next-version seul. La syntaxe des arguments, les limites de valeurs et les protections sont décrites dans la référence CLI.