Traversée de chemin dans getgrav/grav (CVE-2026-72695)
Résumé
Traversée de chemin dans getgrav/grav (CVE-2026-72695). Les données peuvent être altérées par des attaquants. Exploitable via POST /admin/pages/mypage/task. Atténuation : mise à jour vers 2.0.16 ou plus.
Description d'origine
La description telle que publiée par la source (souvent en anglais).
Path Traversal in MediaUploadTrait::deleteFile() Allows Arbitrary File Deletion
Summary
A path traversal vulnerability in MediaUploadTrait::deleteFile() allows an authenticated user with media management permissions to delete arbitrary files on the server. The method validates only the basename portion of the filename using Utils::checkFilename(), while the directory path (which may contain ../ sequences) is preserved and passed unvalidated to unlink(). This enables directory escape from the intended media storage path.
Severity
High (8.1) - CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H
CWE
CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
Details
In system/src/Grav/Common/Media/Traits/MediaUploadTrait.php, the deleteFile() method (lines 332-365) performs filename validation only on the basename, not the full path:
public function deleteFile(string $filename, ?array $settings = null): void
{
$settings = $this->getUploadSettings($settings);
$filesystem = Filesystem::getInstance(false);
// Line 339-340: Only the BASENAME is validated
$basename = $filesystem->basename($filename); // e.g. "evil.jpg" from "../../evil.jpg"
if (!Utils::checkFilename($basename)) { // passes - no traversal in basename
throw new RuntimeException(/* ... */);
}
$path = $settings['destination'] ?? $this->getPath();
// ...
// Line 353: Full pathname (with traversal) is p…
Source: NIST National Vulnerability Database NVD GitHub Advisory
Résumé IA
Rédigé par une IA externe ; il peut contenir des erreurs. Vérifiez la description d'origine et les références ci-dessous avant d'agir.
Une vulnérabilité référencée CVE-2026-72695 a été découverte dans path-traversal.
Des attaquants peuvent cibler un point d'entrée spécifique comme POST /admin/pages/mypage/task à distance pour détourner le produit.
Les données peuvent être altérées par des attaquants. Score CVSS : 8.1/10.
Action : appliquez le correctif officiel de l'éditeur.
En cas de doute, contactez votre service informatique ou cherchez « path-traversal CVE-2026-72695 » sur le site de l'éditeur.
CVE-2026-72695 (path-traversal) — CWE-22 / CVSS v3 8.1
Vecteur d'attaque : distant (réseau) / sans interaction utilisateur
Surface d'attaque : POST /admin/pages/mypage/task / MediaUploadInterface / target.txt
Versions affectées : <= 2.0.15
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.
GravのMediaUploadTrait::deleteFile()にパストラバーサルの脆弱性が存在。
Grav 2.0.16未満で、MediaUploadTrait::deleteFile()に影響。
媒体管理権限を持つ認証ユーザーが任意のファイルを削除できる重大な問題。
Gravをバージョン2.0.16以降にアップデートする。
情報なし
該当バージョンを使用している場合は影響を受ける可能性がある。
Paquets affectés
Références
- web github.com
- web disclosure@vulncheck.com
- web nvd.nist.gov
- web github.com
- web github.com