CVE-2026-116580: Typescript Untrusted Deserialize Unchecked Type Assertion

Deserialized value $VAL is laundered through a TypeScript type assertion ($TYPE) instead of being proven by a runtime identity check. Untrusted serialized input can place an arbitrary object (or a plugin-produced value) behind the deserialized value, so downstream consumers invoke attacker-chosen methods on it (e.g. `on`, `next`, iterator protocol). Validate

Provally CuratedPublic repositoryHighMedium confidenceVerifiedApache-2.0TS
greprules fetch cve-2026-116580-typescript-untrusted-deserialize-unchecked-type-assertion --engine opengrep

Description

Deserialized value $VAL is laundered through a TypeScript type assertion ($TYPE) instead of being proven by a runtime identity check. Untrusted serialized input can place an arbitrary object (or a plugin-produced value) behind the deserialized value, so downstream consumers invoke attacker-chosen methods on it (e.g. `on`, `next`, iterator protocol). Validate