Dashboardcraftpublish-issue-format Merge target contr…

publish-issue-format Merge target contract

Category: gotcha
Confidence: 1.00
ID: 01a07ed5-362f-7f87-937e-b07f3db06407
Project ID: e16af391-c497-4837-b681-c849a5514499
Cross-project: No
Recalled in other projects: 0
Source session: 0ZdHwgWRLVf122BpR
Created: 2026-09-08 01:39:53
Updated: 2026-09-08 02:24:57

Content

Merge target is a required field in the canonical body-start request header, not a separately searchable issue-body property. Chose extracting it from the Peggy-parsed header over /^Merge target:/m scanning because a later decoy line can otherwise control Craft’s merge target while release revision remains canonical. Trap: requiring the field in grammar looks sufficient because the header validates, but discarding its value lets another parser read attacker-controlled content. Fix: return and validate the parsed header value as the sole authority; (default) maps to the repository default branch.

Move to: