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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-104976— Plane: SSRF in Gitea OAuth

Quick assessment

Affected
makeplane plane
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.

Plane 是一款开源的项目管理工具。在 1.4.0 版本之前,Plane 仅对 GITEA_HOST 的 URL 方案(scheme)进行验证,而未拒绝那些解析到私有或内部 IP 地址的主机。在 Gitea OAuth 流程中涉及的四个出站请求均源自该未经验证的主机,且这些请求未调用 validate_url() 函数进行额外验证。此外,avatar_url 取自 Gitea 用户的个人资料,用户可在其中配置外部头像 URL。当管理员为合法的 Gitea 实例启用 OAuth 认证后,Gitea 用户可将内部 U

CVSS 8.7 · High
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-104976

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
Plane: SSRF in Gitea OAuth
Source: CVE Program / CVE List V5
Vulnerability Description
Plane is an open-source project management tool. Prior to 1.4.0, Plane validates GITEA_HOST only for its URL scheme and does not reject hosts that resolve to private or internal IP addresses. The four outbound requests in the Gitea OAuth flow are derived from this unvalidated host and do not call validate_url(). In addition, avatar_url is taken from the Gitea user's profile, where users can configure external avatar URLs. After an administrator enables Gitea OAuth for a legitimate instance, a Gitea user can set an internal URL as the profile avatar and log in through Gitea, causing Plane to fetch the internal target without validation. This issue is fixed in 1.4.0.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N
Source: CVE Program / CVE List V5
Vulnerability Type
服务端请求伪造(SSRF)
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
makeplane plane < 1.4.0 -

II. Public POCs for CVE-2026-104976

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

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

Other References for CVE-2026-104976 (4)

Same Patch Batch · makeplane · 2026-10-05 · 38 CVEs total

CVE-2026-105636 9.9 CRITICAL Plane: SSRF via HTTP redirect in webhook delivery (allow_redirects not set)
CVE-2026-105639 9.8 CRITICAL Plane: Pre-auth workspace invitation hijack via email-squat and self-served invitation tok
CVE-2026-105641 9.8 CRITICAL Plane: Hardcoded SECRET_KEY and LIVE_SERVER_SECRET_KEY shipped in aio/cli community deploy
CVE-2026-105637 9.6 CRITICAL Plane: Cross-Project Asset Hijacking via 'ProjectBulkAssetEndpoint' (sibling of CVE-2026-4
CVE-2026-105638 9.1 CRITICAL Plane: Magic-code verifier endpoint has no rate limit, enabling 6-digit OTP brute force
CVE-2026-105640 9.1 CRITICAL Plane: Account Takeover via Unverified OAuth Email Match (Gitea, self-managed GitLab)
CVE-2026-105630 8.7 HIGH Plane: Stored XSS via SVG attachment served inline on the application origin (account take
CVE-2026-104892 8.7 HIGH Plane: Plaintext logging of API token
CVE-2026-104966 8.7 HIGH Plane: Cross-Workspace IDOR in Estimate and Comment Endpoints Allows Read, Modify, and Inj
CVE-2026-104979 8.7 HIGH Plane: Cross-tenant stored XSS in intake enables account takeover
CVE-2026-105632 8.7 HIGH Plane: Broken Access Control - joinProject GraphQL mutation allows self-join into private
CVE-2026-104968 8.7 HIGH Plane: Cross-workspace member enumeration via /api/workspaces/{slug}/entity-search/
CVE-2026-104971 8.5 HIGH Plane: Cross-Workspace Asset Duplication IDOR + WorkspaceFileAssetEndpoint and FileAssetEn
CVE-2026-104978 8.2 HIGH Plane: Invitation Hijack in Project Join Flow via Missing Authorization and Email-Only Acc
CVE-2026-104970 8.1 HIGH Plane: InstanceAdminSignUpEndpoint TOCTOU race allows two concurrent unauthenticated calle
CVE-2026-105634 8.1 HIGH Plane: Privilege Escalation: Project Guest Can Demote Admin/Member Roles
CVE-2026-104974 8.1 HIGH Plane: Disabled User Auto-Reactivation on Login
CVE-2026-104977 7.7 HIGH Plane: Incomplete fix of CVE-2026-27706 — SSRF still reachable on: missing is_blocked_ip (
CVE-2026-104973 7.6 HIGH Plane: DNS Rebinding Bypass of CVE-2026-30242 SSRF Fix in Webhook Delivery
CVE-2026-105628 7.6 HIGH Plane: OAuth Avatar Redirect SSRF Leads to Internal Data Exfiltration via Static Asset End

Showing top 20 of 38 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2026-104976

No comments yet


Leave a comment