Trigger.dev: Prototype pollution via run metadata operations → process-wide cross-tenant DoS
概要
Trigger.dev: Prototype pollution via run metadata operations → process-wide cross-tenant DoS
原文の説明
取得元が公開している説明をそのまま載せています (多くは英語)。
Summary
The run-metadata update endpoint PUT /api/v1/runs/:runId/metadata applies client-supplied
"operations" by passing the attacker-controlled operation.key straight into
new JSONHeroPath(operation.key).set(newMetadata, value)
(packages/core/src/v3/runMetadata/operations.ts:22-23), with no prototype-pollution guard
(@jsonhero/path@^1.0.21 does not reject __proto__/constructor/prototype).
A request with key: "$.__proto__.polluted" sets Object.prototype.polluted in the webapp
process. Because every plain object then inherits that property, it corrupts unrelated code
process-wide and across tenants — including Prisma query building and the Prometheus metrics
client — causing query failures, broken authentication for other tenants' workers, and an
uncaughtException (denial of service). Only a normal, low-privilege environment API key is
required (one request).
Severity
A single request from any holder of a normal environment API key contaminates Object.prototype
in the shared webapp process, breaking other tenants' workers (scope change) and degrading/
crashing the process (high availability impact). Prototype pollution is also a primitive for
further gadget chains (integrity/confidentiality).
Affected versions
- Introduced in commit
34f8bd588("Add ability to update parent and root run metadata from
children", PR #1563, 2025-01-08) — theJSONHeroPath(operation.key).set()sink is present from
the first comm…
出典: GitHub Security Advisories (Global) NVD GitHub Advisory
AI要約
外部の AI が作成した要約です。誤りを含むことがあります。重要な判断の前に、下の原文と参照URLを確認してください。
Trigger.devのAPIエンドポイントにおいて、ユーザーが提供したデータに基づいてプロトタイプ汚染が発生し、複数のテナントにわたるDoS攻撃が可能となる脆弱性が発見されました。攻撃者は、プロトタイプチェーンを通じてコードの一部を操作可能とし、認証やクエリ処理を中断させる恐れがあります。この問題はバージョン3.3.8から4.x(4.5.6で修正)までの範囲で影響を与えます。
Trigger.devのAPIエンドポイントにおけるプロトタイプ汚染脆弱性。
バージョン3.3.8以降のTrigger.devのnpmパッケージ。
低権限の環境APIキーでプロセス全体が汚染され、複数テナントでのDoS攻撃が可能。
バージョン4.5.6にアップデートして、この脆弱性を修正。
情報なし
現在使用しているTrigger.devバージョンが3.3.8以上4.5.6未満の場合は影響を受ける可能性がある。