SSRF (Server-Side Request Forgery) in Golang (CVE-2026-71280)
Summary
SSRF in Golang (CVE-2026-71280). Confidential information can be exposed externally. Exploitable via POST /api/bookmark.
Original description
The description as published by the source.
go-shiori's DownloadBookmark() (internal/core/download.go) fetches a caller-supplied bookmark URL using a plain http.Client with no custom DialContext or destination-IP validation (no IsLoopback(), IsPrivate(), IsUnspecified(), or IsLinkLocalUnicast() checks). An authenticated user creating or updating a bookmark via POST /api/bookmark, PUT /api/v1/bookmarks/cache, or POST /api/bookmarks/ext can supply a loopback (127.0.0.1) or 0.0.0.0 (which Linux redirects to loopback) URL, causing the server to make outbound requests to internal-only services, cloud metadata endpoints, or other network-restricted resources.
Source: NIST National Vulnerability Database NVD GitHub Advisory
AI summary
Written by an external AI model and may contain mistakes. Check the original description and references below before acting on it.
go-shioriのDownloadBookmark()関数において、カスタムのネットワークアクセス制御が行われず、内部のみのサービスやクラウドメタデータエンドポイントにアクセス可能なSSRFの脆弱性が存在します。この脆弱性は認証されたユーザーによって悪用される可能性があります。
go-shioriのDownloadBookmark()でSSRFの脆弱性が発生。
internal/core/download.go内のDownloadBookmark()関数。
外部から内部リソースにアクセスできるため、重大なセキュリティリスクとなります。
http.ClientにカスタムDialContextを設定し、IPアドレスの検証を行う。
一時的な回避策は情報なし。
内部リソースへの不要なアクセスが発生していないかをログから確認する。
References
- web github.com
- web github.com
- web nvd.nist.gov
- web github.com