Skip to content

[0.42-r2 M3] isOpenElementRedirect duck type does not validate the status whitelist #583

Description

@SisyphusZheng

Severity: medium · Category: protocol defect

Evidence. packages/app/src/authoring.ts: isOpenElementRedirect accepts any { name: 'OpenElementRedirect', location: string, status: number } — a shaped object with status: 200 or an arbitrary status takes the redirect channel, bypassing the constructor's 3xx whitelist (ADR-0121 §3).

Fix. Validate the status against the same {301,302,303,307,308} set in the duck-type branch.


Filed from the 0.42 round-2 review (docs/audit/2026-07-28-alpha5-round2-review.md). Target line: 0.42.0-alpha.6.

Metadata

Metadata

Assignees

No one assigned

    Labels

    0.42.0-alpha.60.42 round-2 review remediation (morph client hardening)bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions