概要
oauth に 認証バイパス (CVE-2026-42560) が存在。機密情報が外部に流出する可能性があります。user.ID 経由で攻撃可能。
原文の説明
取得元が公開している説明をそのまま載せています (多くは英語)。
Summary
The Patreon OAuth provider maps every authenticated Patreon account to the same local user.ID, instead of deriving a unique ID from the Patreon account returned by Patreon.
In practice, this means all Patreon-authenticated users of an application using this library are collapsed into a single local identity. Any application that trusts token.User.ID as the stable account key can end up mixing or fully merging unrelated Patreon users, which can lead to cross-account access, privilege confusion, and subscription-state leakage.
Details
The bug is in the Patreon provider's user-mapping logic.
Both the root module and the v2 module create a fresh empty token.User{} and then derive the Patreon ID from userInfo.ID before that field has been populated:
mapUser: func(data UserData, bdata []byte) token.User {
userInfo := token.User{}
uinfoJSON := uinfo{}
if err := json.Unmarshal(bdata, &uinfoJSON); err == nil {
userInfo.ID = "patreon_" + token.HashID(sha1.New(), userInfo.ID)
userInfo.Name = uinfoJSON.Data.Attributes.FullName
userInfo.Picture = uinfoJSON.Data.Attributes.ImageURL
...
}
return userInfo
}
Affected locations:
provider/providers.go:257v2/provider/providers.go:257
At that point, userInfo.ID is still the empty string, so the effective result is always:
patreon_ + sha1("")
which is:
patreon_da39a3ee5e6b4b0d3255bfef95601890afd80709
for every Patr…
出典: NIST National Vulnerability Database NVD GitHub Advisory
AI要約
外部の AI が作成した要約です。誤りを含むことがあります。重要な判断の前に、下の原文と参照URLを確認してください。
この脆弱性はPatreonに関連した問題で、特定のバージョンのソフトウェアで発生しています。Patreonを使った認証で異なるアカウントが同一ユーザーとして認識される可能性があります。この問題は、クロスアカウントアクセスや権限の混同を引き起こし、購読情報の漏洩につながる恐れがあります。影響を受けるバージョンは1.18.0から1.25.2未満、および2.0.0から2.1.2未満で、修正されたバージョンは1.25.2と2.1.2です。適切なバージョンにアップデートすることが推奨されます。
この脆弱性は、Patreon OAuthプロバイダが正しいユーザーIDマッピングを行わず、すべてのユーザーを同一のローカルIDに閉じ込めることにより発生します。影響を受けるバージョンは1.18.0から1.25.2未満、および2.0.0から2.1.2未満です。修正はバージョン1.25.2と2.1.2で行われており、暫定的な回避策は存在しません。危険な関数はprovider/providers.goとv2/provider/providers.goにあり、ここではuserInfo.IDが正しく初期化されずにハッシュ化されています。発見者はNadav0077氏です。この脆弱性は、ネットワークを経由した認証不要の攻撃を容易に許します。
CVE-2026-42560 に 認証バイパス (CWE-287) があります。攻撃者は user.ID を経由して脆弱な処理に到達し、認証なしで悪用できます。
CVE-2026-42560 のうち 影響範囲: >= 1.18.0, <= 1.25.1。攻撃箇所: user.ID / token.User.ID / userInfo.ID / uinfoJSON.Data.ID。
重要度: 最重要 (CVSS 9.1/10)。機密情報が外部に流出する可能性があります
ベンダー公式アドバイザリの修正版に更新してください。(修正前: >= 1.18.0, <= 1.25.1 該当バージョンが本番稼働中なら直ちに更新計画を立案)
修正版が未提供時は、影響機能の無効化・WAFルール・ネットワークACLでの遮断を検討。
Webサーバ・プロキシ・WAFログで該当CVEのIOCに合致する不審リクエストを検索。SBOM/依存ファイルで影響バージョンを横断確認。
類似する過去の事例 過去のCVE/インシデントから類似事例を抽出
Also dealing with improper handling of user IDs leading to impersonation.
Another incident causing cross-account data access due to session management flaws.
Related to token-based authentication failures in OAuth systems.
もし自社で起きたら 業務シナリオごとの想定影響
Leads to potential unauthorized access between different accounts, compromising user data privacy.
Could face data breaches resulting from privilege mix-up and identity confusion.
Risk of subscription state leaks that could affect revenue and user trust.
Organizations should immediately update affected libraries to patched versions to prevent unauthorized access and data breaches.
対応アクション
SOC/SREチームが順番に実行すべき具体的なステップとコマンド例
-
1影響範囲の特定 identify
Audit SBOM/dependencies for affected components.依存マニフェストで影響コンポーネントを特定する。
-
2バージョン照合 verify
Confirm if version satisfies `>= 1.18.0, <= 1.25.1`Step 1 で見つかったバージョンが影響範囲
>= 1.18.0, <= 1.25.1に該当するか照合。本番で稼働中ならインシデント扱い。 -
7事後検証 verify
Confirm patched version is live in productionパッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番では Step 3 と同じログクエリでアラート再発が無いか継続監視。
影響パッケージ
参照URL
- advisory nvd.nist.gov
- package github.com
- web github.com
- web github.com
- web github.com
- web github.com
- web github.com