Vuln Watch 利用製品に関係する脆弱性
← 一覧

CVE-2026-91154

Emergency(緊急) 説明文のみで一致 公開 2026-09-29 00:29 ・ 更新 2026-09-29 02:52

判定

現在の判定
Emergency(緊急)
攻撃条件
満たす(AV・PR・UI がすべて N か)
攻撃能力
満たす(RCE・認証回避・シェル取得・root 取得のいずれか)
根拠
AV:N / PR:N / UI:N(CNA・CVSS 4.0) / 認証回避

解説

概要
認証・権限確認のない Server Action が公開され、商品キャッシュを強制的に失効させられる脆弱性です。
影響
未認証の攻撃者が商品キャッシュを繰り返し失効させ、商品カタログへのデータベースアクセスを増やしてストアフロントの可用性を低下させられます。
対象
MarcosCamara01 Ecommerce Template の commit ec97209 より前のバージョン(Product cache revalidation Server Action)。
対策
ec97209 以降のコミットを使用してください。具体的な回避策の記載はありません。
判定
AV:N / PR:N / UI:N(CNA・CVSS 4.0) / 認証回避
出典

CVSS 評価

出所版AV / PR / UIベクトル出所側の更新日時
CNA(採用) 4.0 AV:N / PR:N / UI:N CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N 2026-09-29 00:29

攻撃能力(AI 判定)

RCE 非該当
認証回避 該当
シェル取得 非該当
root 取得 非該当

根拠

  • RCE ・ CNA の説明文
    Repeated unauthenticated invocation of revalidateProducts keeps that cache permanently cold, forcing every visitor's request to read the full product catalog from Postgres instead of serving from cache, degrading storefront availability at near-zero attacker cost.
  • 認証回避 ・ CNA の説明文
    so any unauthenticated user can extract that id from the public bundle and invoke the action directly.
  • シェル取得 ・ CNA の説明文
    degrading storefront availability at near-zero attacker cost.
  • root 取得 ・ CNA の CVSS 評価
    CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N

モデル gpt-6-luna ・ プロンプト 2026-10-10 ・ 2026-10-13 05:56 ・ 入力 SHA-256 721468c39351

一致した監視対象製品

  • PostgreSQL — 説明文で一致 (AI の判定: 影響を受けるか 非該当)

    Missing Authentication for Critical Function (CWE-306) in the product cache revalidation Server Action (src/app/actions.ts, revalidateProducts) in MarcosCamara01 Ecommerce Template before commit ec97209 allows a remote, unauthenticated attacker to force expiration of the entire storefront product cache at will. The file declares "use server" at file scope, so every exported function compiles into a POST-invokable Server Action; revalidateProducts calls updateTag("products") with no session or role check, unlike the read-only actions in the same file which are safe by construction. Two client components under src/components/admin import the function, which causes its Server Action id to be compiled into a public /_next/static chunk that the application's admin middleware (proxy.ts) does not gate, so any unauthenticated user can extract that id from the public bundle and invoke the action directly. With cacheComponents enabled, the entire storefront (home, categories, product pages, search) is served from "use cache" entries produced by getAllProducts, getCategoryProducts and getProduct, all tagged products with an hours-long cacheLife. Repeated unauthenticated invocation of revalidateProducts keeps that cache permanently cold, forcing every visitor's request to read the full product catalog from Postgres instead of serving from cache, degrading storefront availability at near-zero attacker cost.

変更履歴

  1. 2026-09-29 02:52
    • Emergency(緊急) と判定した
    → Emergency(緊急)