{
  "variant_id": "VSV00019-prefix-variants",
  "created_at": "2026-07-05T05:55:00Z",
  "variant_summary": "No bypass found: the VSV00019 fix (Tstrcmp -> Tstreq) blocks all tested H2 pseudo-header prefix variants on varnish-9.0.3; the original :a vector still works on the vulnerable 9.0.2 commit.",
  "relation": "newer_version_sibling",
  "origin_kind": "pruva_variant",
  "repository": "https://github.com/varnish/varnish.git",
  "submitted_target": {
    "target_kind": "git_tag",
    "version": "9.0.2",
    "ref": "varnish-9.0.2",
    "display": "varnish-9.0.2 (vulnerable)"
  },
  "variant_target": {
    "target_kind": "git_tag",
    "commit_sha": "0a625649cd40af4b6c10be5e58a2e89a5e275baa",
    "version": "9.0.3",
    "ref": "varnish-9.0.3",
    "display": "varnish-9.0.3 (fixed)"
  },
  "same_root_cause_confidence": "high",
  "same_surface_confidence": "high",
  "claimed_surface": "tcp_peer",
  "validated_surface": "tcp_peer",
  "required_entrypoint_kind": "tcp_peer",
  "required_entrypoint_detail": "HTTP/2 client sends a crafted HEADERS frame to varnishd with feature=+http2",
  "attacker_controlled_input": "malformed HTTP/2 pseudo-header name that is a prefix of a standard pseudo-header",
  "trigger_path": "bin/vinyld/http2/cache_http2_hpack.c:h2h_addhdr",
  "observed_impact_class": "none",
  "exploitability_confidence": "none",
  "evidence_scope": "production_path",
  "runtime_manifest_present": true,
  "end_to_end_target_reached": false,
  "inferred": false,
  "claim_block_reason": "patch_complete",
  "blocking_mitigation": "The fixed version uses exact pseudo-header matching (Tstreq) and rejects all tested prefix variants; upstream f00019.vtc regression test passes.",
  "file_path": "bin/vinyld/http2/cache_http2_hpack.c",
  "line_start": 171,
  "line_end": 216,
  "secondary_anchors": [
    {
      "file_path": "include/vdef.h",
      "line_start": 287,
      "line_end": 288
    },
    {
      "file_path": "bin/vinyltest/tests/f00019.vtc",
      "line_start": 1,
      "line_end": 31
    }
  ],
  "review_scope_paths": [
    "bin/vinyld/http2/cache_http2_hpack.c",
    "include/vdef.h",
    "bin/vinyltest/tests/f00019.vtc"
  ],
  "artifact_refs": {
    "variant_manifest": "bundle/vuln_variant/variant_manifest.json",
    "validation_verdict": "bundle/vuln_variant/validation_verdict.json",
    "runtime_manifest": "bundle/vuln_variant/runtime_manifest.json",
    "repro_log": "bundle/logs/variant_summary.txt",
    "root_cause_equivalence": "bundle/vuln_variant/root_cause_equivalence.json",
    "reproducer": [
      "bundle/vuln_variant/reproduction_steps.sh"
    ]
  }
}
