Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-58654— Grav - Arbitrary File Upload via Avatar Endpoint

Quick assessment

Affected
Grav Grav
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Grav Grav是Grav组织开源的一个基于文件系统的无数据库内容管理系统。 Grav 1.0.0版本存在任意文件上传漏洞,该漏洞源于在头像上传端点(/api/v1/users/user/avatar)中对文件上传验证不当,仅验证客户端声明的MIME类型开头为'image/',未检查实际文件内容或限制扩展名,允许经过身份验证的用户存储任意内容,包括PHP代码、嵌有JavaScript的SVG和混合有效载荷,可能导致远程代码执行或存储型跨站脚本。

CVSS 4.3 · Medium EPSS 0.44% · P36

Possible ATT&CK Techniques 1 AI

T1505.003 · Web Shell

Affected Version Matrix 2

VendorProduct Version RangeStatus
Grav Grav < 1.0.1 affected
1.0.1 unaffected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-58654

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Grav - Arbitrary File Upload via Avatar Endpoint
Source: CVE Program / CVE List V5
Vulnerability Description
The Grav API plugin (getgrav/grav-plugin-api) 1.0.0 contains an unrestricted file upload vulnerability in the avatar upload endpoint (/api/v1/users/user/avatar). The endpoint validates only the client-declared MIME type (getClientMediaType) beginning with 'image/' and does not inspect the actual file content or restrict the resulting extension, allowing an authenticated user to store arbitrary content — including PHP code, SVG with embedded JavaScript, and polyglot payloads — under user/accounts/avatars/ with predictable filenames. Direct HTTP access to the stored files is blocked by .htaccess (returns 403), but the files persist on disk and could lead to remote code execution or stored XSS in the presence of a path traversal flaw or server misconfiguration. Fixed in 1.0.1.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
Source: CVE Program / CVE List V5
Vulnerability Type
危险类型文件的不加限制上传
Source: CVE Program / CVE List V5
Vulnerability Title
Grav 任意文件上传漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Grav Grav是Grav组织开源的一个基于文件系统的无数据库内容管理系统。 Grav 1.0.0版本存在任意文件上传漏洞,该漏洞源于在头像上传端点(/api/v1/users/user/avatar)中对文件上传验证不当,仅验证客户端声明的MIME类型开头为'image/',未检查实际文件内容或限制扩展名,允许经过身份验证的用户存储任意内容,包括PHP代码、嵌有JavaScript的SVG和混合有效载荷,可能导致远程代码执行或存储型跨站脚本。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
Grav Grav 0 ~ 1.0.1 -

II. Public POCs for CVE-2026-58654

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-58654

请登录查看更多情报信息。

Vendor Advisories for CVE-2026-58654 (2)

IV. Related Vulnerabilities

V. Comments for CVE-2026-58654

No comments yet


Leave a comment