
PEACH
Un cadre d’isolation des locataires
CVE-2026-54150 is an unauthenticated arbitrary file read vulnerability in the next-video npm package (by Muxinc) affecting all versions up to and including 2.8.0. The flaw resides in the HTTP route handler exported by next-video/request-handler, which the library's README instructs users to mount at /api/video. An unauthenticated remote attacker can exploit this to read arbitrary .json files from the production server's filesystem. It was first published as a security advisory on June 12, 2026, and added to the GitHub Advisory Database on August 20, 2026. It carries a CVSS v4 base score of 6.9 (Medium) (GitHub Advisory).
The root cause is improper limitation of a pathname to a restricted directory (CWE-22 / path traversal), combined with exposure of sensitive information to an unauthorized actor (CWE-200). The handler's GET endpoint accepts a url query parameter; the sole guard between a remote URL and a local file path is a regex check for ^https?:// in src/utils/utils.ts (isRemote()). Any value not matching that prefix is treated as a local path, .json is appended, and the file is read via fs.readFile and returned in the HTTP response — with no authentication, no path canonicalization, and no traversal guard. The vulnerable code path flows through src/request-handler.ts → src/assets.ts (getAssetPath()) → src/config.ts (loadAsset()). No privileges or user interaction are required; the attack is network-accessible with low complexity (GitHub Advisory, Security Advisory).
Successful exploitation allows an unauthenticated attacker to read any .json file accessible to the Node.js process on the production filesystem. On a typical Next.js deployment, this exposes the Next.js Server Actions AES encryption key (.next/server/server-reference-manifest.json), Next.js Preview/Draft Mode keys (previewModeId, previewModeSigningKey, previewModeEncryptionKey), internal build manifests, route registries, absolute runtime paths, and application-specific Mux asset metadata (uploadId, assetId, playbackId). Compromise of these cryptographic keys could enable an attacker to forge server actions, bypass draft mode protections, or further pivot within the application environment (GitHub Advisory).
No public exploit code or in-the-wild exploitation has been reported as of the advisory publication date. The vulnerability requires no authentication, no special privileges, and no user interaction, making it trivially exploitable by any remote attacker against any application that mounted /api/video per the documented setup. The CVE status is listed as "Reserved" and no EPSS score or CISA KEV catalog entry has been identified for this CVE (GitHub Advisory, GitLab Advisory).
next-video package (versions ≤ 2.8.0) that expose the /api/video route publicly. This can be done via passive scanning, reviewing public package.json files, or probing for the endpoint./api/video?url=test and observe whether a JSON response or a 404 is returned, confirming the handler is mounted.url parameter value that does not begin with https?:// and points to a sensitive file path (without the .json extension, as the handler appends it automatically). For example: /api/video?url=.next/server/server-reference-manifest.json, reads the file with fs.readFile, and returns its contents in the HTTP response. Targets of interest include:.next/server/server-reference-manifest (AES encryption key for Server Actions).next/prerender-manifest (Preview/Draft Mode keys)videos/<asset-name> (Mux asset metadata)/api/video with a url query parameter containing path-like values (e.g., .next/, ../, /etc/, server-reference-manifest) rather than https:// URLs; high volume of such requests from a single IP.GET /api/video?url=.next/server/server-reference-manifest or GET /api/video?url=../../etc/passwd; HTTP 200 responses to these requests indicating successful file reads.fs.readFile calls to paths outside the videos/ directory if application-level logging is enabled./api/video requests, which may indicate key compromise and subsequent abuse (GitHub Advisory).Upgrade next-video to version 2.8.1, which introduces the assertSafeAssetSource() function that validates all url parameters against the configured video folder before serving any file, and returns a 404 for any path resolving outside that directory (next-video v2.8.1, Patch Commit). If immediate upgrade is not possible, wrap the exported handler in a custom route file and reject any url value that does not begin with https:// or does not match a known allowlist of trusted remote hosts. Alternatively, remove the /api/video route entirely if your application only uses build-time imports of local video files and does not use string URLs at runtime (Security Advisory).
Source: Ce rapport a été généré à l’aide de l’IA
Évaluation gratuite des vulnérabilités
Évaluez vos pratiques de sécurité cloud dans 9 domaines de sécurité pour évaluer votre niveau de risque et identifier les failles dans vos défenses.
Obtenez une démo personnalisée
"La meilleure expérience utilisateur que j’ai jamais vue, offre une visibilité totale sur les workloads cloud."
"Wiz fournit une interface unique pour voir ce qui se passe dans nos environnements cloud."
"Nous savons que si Wiz identifie quelque chose comme critique, c’est qu’il l’est réellement."