Skip to content

[GHSA-2fw8-7jmw-r937] - Tool outputSchema pattern can stall validation (ReDoS) #2874

Closed

Description

@cliffhall

Advisory: GHSA-2fw8-7jmw-r937

Status (2026-10-29): fixes ready on both lines, not merged

  • Accepted 2026-10-28. Severity Medium, Priority Medium. Lines: v2 and v1.
  • v2 fix: fork PR #2. A bounded-time regex engine evaluates Ajv pattern checks. Gate green.
  • v1 fix: fork PR #1. Server-supplied patterns are skipped, with a "not evaluated" note. No dependency changes. v1's lint, test, build and test-cli are green.
  • Before the release:
    1. Merge the advisory. That merges both PRs at once. Lift required_status_checks on v2/main - DCO and v1/main - full protection, use a merge commit, then restore both from snapshots.
    2. Ship both lines: v2.14.0 and a v1 patch on v1-latest.
    3. Publish only after both are out.
    4. Request a CVE and credit KillerX345.
    5. Publish.
    6. Convert this card to the v2 issue. File a separate v1 issue on get tools working #11 (no milestone), cross-link the two, and close both.
  • Upstream: private report to typescript-sdk, GHSA-f3p5-cxv7-g7x2 (Client.callTool uses the native RegExp).
  • Open: the assessment comment for the reporter is a manual post.

Reporter: KillerX345 | Reported severity: medium | Reported: 2026-10-28

Priority score (2026-10-28, provisional — code-read only, not reproduced): Severity 3, Urgency 2, +1 security, Total 6 → Medium. Lines: v2 + v1.

Activity

  1. self-assigned this
    on Nov 4, 2026
  2. added
    v2Issues and PRs for v2
    bugSomething isn't working
    on Nov 4, 2026
  3. added this to the v2.14.0 milestone on Nov 4, 2026
  4. cliffhall commented on Nov 4, 2026

    @cliffhall
    MemberAuthor

    The v1 half of this advisory is tracked in #2878 (v1 1.0.4).

  5. cliffhall commented on Nov 4, 2026

    @cliffhall
    MemberAuthor

    Fixed by #2877 (v2/main). The v1 half was #2878 / #2879.

  6. cliffhall commented on Nov 5, 2026

    @cliffhall
    MemberAuthor

    Advisory published: GHSA-2fw8-7jmw-r937. Fixed in 2.14.0 (#2877) for v2 and in 1.0.4 (#2879, tracked in #2878) for v1.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingv2Issues and PRs for v2

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions