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

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2026-61607— Grav API Plugin: Stored XSS via SVG Upload - API Media Pipeline Bypasses Sanitizer

Quick assessment

Affected
getgrav grav-plugin-api
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 API Plugin是Grav组织的一款提供API接口功能的插件。 Grav API Plugin 1.0.2之前版本存在跨站脚本漏洞,该漏洞源于上传SVG文件时未调用Security::sanitizeSVG()进行安全清理,可能导致存储型跨站脚本攻击,窃取会话数据并执行认证操作。

CVSS 4.6 · Medium EPSS 0.21% · P11

Affected Version Matrix 1

VendorProduct Version RangeStatus
getgrav grav-plugin-api < 1.0.2 affected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-61607

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 API Plugin: Stored XSS via SVG Upload - API Media Pipeline Bypasses Sanitizer
Source: CVE Program / CVE List V5
Vulnerability Description
Grav API Plugin is a RESTful API for Grav CMS that provides full headless access to your site's content. Prior to 1.0.2, the Grav API plugin POST /api/v1/media pipeline in HandlesMediaUploads::processUploadedFile() validates an SVG filename extension but does not invoke Security::sanitizeSVG(). An attacker with api.media.write permission can store an SVG containing JavaScript, and the server returns the file as Content-Type: image/svg+xml so the script executes when a victim opens it, allowing session data theft and authenticated actions. This issue is fixed in version 1.0.2.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N
Source: CVE Program / CVE List V5
Vulnerability Type
在Web页面生成时对输入的转义处理不恰当(跨站脚本)
Source: CVE Program / CVE List V5
Vulnerability Title
Grav API Plugin 跨站脚本漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Grav API Plugin是Grav组织的一款提供API接口功能的插件。 Grav API Plugin 1.0.2之前版本存在跨站脚本漏洞,该漏洞源于上传SVG文件时未调用Security::sanitizeSVG()进行安全清理,可能导致存储型跨站脚本攻击,窃取会话数据并执行认证操作。
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
getgrav grav-plugin-api < 1.0.2 -

II. Public POCs for CVE-2026-61607

# 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-61607

登录查看更多情报信息。

Patches & Fixes for CVE-2026-61607 (1)

Vendor Advisories for CVE-2026-61607 (1)

Vendor Pages for CVE-2026-61607 (1)

Same Patch Batch · getgrav · 2026-08-19 · 17 CVEs total

CVE-2026-62668 9.4 CRITICAL Grav API Plugin: Webhook SSRF via Unrestricted cURL Protocols
CVE-2026-62666 8.8 HIGH Grav API Plugin: non-super api.users.write manager -> super-admin via createApiKey (incomp
CVE-2026-64850 8.7 HIGH Grav: Remote code execution via unrestricted callable in Blueprint::dynamicData()
CVE-2026-64852 8.7 HIGH Grav API Plugin: Missing authorization on API-key generate/revoke lets any admin.login use
CVE-2026-64851 8.5 HIGH Grav Shortcode Core Plugin: Stored XSS in shortcode-core attribute handlers
CVE-2026-62673 8.2 HIGH Grav: .htaccess file extension rules bypass via case variation on case-insensitive filesys
CVE-2026-63407 8.2 HIGH Grav API Plugin: CORS 'Access-Control-Allow-Origin: *' on Authenticated API Responses
CVE-2026-62667 8.1 HIGH Grav API Plugin : API Key 'scopes' Never Enforced - Delegated Least-Privilege Keys Carry F
CVE-2026-63408 7.5 HIGH Grav API Plugin: JWT Access Token Accepted via `?token=` URL Query Parameter
CVE-2026-62669 7.4 HIGH Grav Login Plugin: 2FA Bypass via 'login.regenerate2FASecret' - Secret Rotation During Pen
CVE-2026-61690 6.5 MEDIUM Grav: Decompression Bomb via ZipArchiver - Missing Extraction Limits
CVE-2026-61842 6.5 MEDIUM Grav: Twig sandbox config exfiltration via grav.offsetGet + dump filter (CVE-2026-44738 by
CVE-2026-62670 6.3 MEDIUM Fail-open authorization in grav-plugin-flex-objects admin-next API: api.access user gets f
CVE-2026-62672 6.0 MEDIUM Grav: Authenticated ReDoS via regex_replace in Twig Sandbox
CVE-2026-62671 5.4 MEDIUM CSRF in grav-plugin-login: anonymous attacker rotates a logged-in user's 2FA (TOTP) secret
CVE-2026-53654 5.3 MEDIUM Grav: Unauthenticated open redirect via login twofa_cancel _redirect

IV. Related Vulnerabilities

V. Comments for CVE-2026-61607

No comments yet


Leave a comment