
Verificatore offline di evidenze use-cache di Next.js per GHSA-673q-mjm6-r5xr. Evidenze di cache e typed-array di Next.js. Python standalone; report JSON/CSV/HTML; nessun payload di exploit.
Triage offline per la RCE dei typed array in use-cache di Next.js
GHSA-673q-mjm6-r5xr · offline, file singolo, senza dipendenze
next-cache-rce-check valuta le versioni di Next.js dichiarate, i metadati delle dipendenze npm e un contesto limitato di codice sorgente JS/TS rispetto all'advisory dei manutentori per questo singolo problema. Esporta JSON canonico, CSV o un report HTML personalizzato.
Non esegue mai il codice del progetto, non invoca un package manager e non contatta la rete. Riporta l'incertezza in modo onesto: le evidenze mancanti, in conflitto o qualificate sono unknown, mai "safe".
[!IMPORTANT] L'esposizione potenziale non equivale a sfruttabilità confermata. Ogni risultato mantiene
exploitability: not_tested. Una versione dichiarata, un lockfile o un pattern nel codice sorgente non possono mostrare la configurazione distribuita, i backport del fornitore o lo stato reale delle patch. Tratta ogni risultato come uno spunto per un controllo da parte di un manutentore.
Segue l'approccio conservativo di reporting e licensing di node2shell-check e php2shell-check.
L'advisory dei manutentori identifica Next.js 16.0.0 fino a 16.4.0 come affette e 16.4.1 come corretta. Le sue condizioni di applicazione sono App Router, Cache Components e una funzione use-cache che restituisce più typed array. I manutentori consigliano l'aggiornamento anche quando l'applicazione non sembra contenere funzioni corrispondenti, e non elencano alcuna soluzione alternativa nota per il codice affetto. Vedi l'advisory e la release 16.4.1.
| Linea di rilascio | Affette (dichiarate) | Corretta in |
|---|---|---|
| Next.js 16.0 a 16.4 | 16.0.0 a 16.4.0 | 16.4.1 |
Lo snapshot incorporato è stato verificato il 2026-10-23 rispetto all'advisory dei manutentori. Al momento della verifica non era stato assegnato alcun identificativo CVE nell'advisory.
Questo checker classifica solo versioni esatte semplici sulle linee di rilascio verificate 16.0–16.4. Versioni major precedenti, prerelease, versioni qualificate dal fornitore e future linee 16.5+ restano unknown. Non stabilisce se una build dichiarata sia stata rilasciata né se sia presente un backport del fornitore.
next_cache_rce_check.py oppure un clone di questo repository.Non sono necessari Node.js, package manager, connessione di rete o pacchetti di terze parti.
# 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
La fixture è artificiale e dovrebbe riportare potentially_affected (vedi examples). Non installarla o distribuirla.
Fornire una directory di progetto, almeno una --next-version, o entrambe. Non esiste una scansione implicita della directory corrente. --help elenca tutti gli argomenti e --version stampa la versione dello strumento.
| Opzione | Scopo |
|---|---|
PROJECT | Directory radice stabile dell'applicazione. Eseguire una volta per applicazione; i grafi dei pacchetti del workspace e le radici annidate arbitrarie non vengono risolti. |
--next-version VERSION | Una versione riportata dell'istanza Next.js radice. Ripetere per preservare più osservazioni; la discordanza viene riportata come conflitto, non risolta. |
--asset-id LABEL | Etichetta non sensibile (predefinita project). |
--format {json,csv,html} | Formato del report (predefinito json). |
--output PATH | Scrive il report in un file esterno alla directory del progetto valutato invece che su stdout. |
--force | Sostituisce un file di report esistente. Senza questa opzione, i file esistenti vengono preservati. |
--brand NAME, --logo PATH | Nome visualizzato HTML (predefinito CompleteTech LLC) e un logo locale opzionale PNG/JPEG/GIF/WebP. |
--fail-on-finding, --fail-on-unknown | Esce con codice 1 su un report completato contenente rispettivamente risultati potentially_affected o unknown. |
Le destinazioni del report devono essere esterne alla directory del progetto valutato, anche quando si usa --force; il checker non scrive mai nell'albero del progetto. Le versioni esatte accettate restano associate alle rispettive fonti di evidenza individuali in JSON, CSV e HTML anche quando la discordanza rende sconosciuta la versione selezionata. Per valutare una versione verificata separatamente senza metadati di progetto non supportati, usare --next-version da sola. La sintassi degli argomenti, i limiti dei valori e le protezioni sono nella riferimento CLI.