CORS private-data exposure
A lower-trust origin can read a protected response using the controlled user’s browser credentials.
Candidate CWE: CWE-942
Test hypothesis#
From your researcher page, fetch a private controlled endpoint with credentials included and read the body. Compare the legitimate origin and anonymous response, recording preflight and cookie behavior.
Evidence required#
JavaScript on the researcher origin reads the private canary response. Header inspection supports the evidence but the real browser read establishes exploitability.
Rule out false positives#
Public data with wildcard CORS, wildcard plus credentials that browsers reject, a request without readable response, or header spoofing only in curl is insufficient.
Playbook and command references#
- Browser execution, cross-origin reads, and forged actions — Use real browser behavior to distinguish XSS, CSRF, CORS, and messaging failures from header-only leads.
Find the associated command snippets
Referenced by these target playbooks#
Report checklist#
- Capture the affected version, configuration, identities, and object ownership.
- Preserve a valid baseline and a negative control.
- Reproduce the forbidden data access, action, or state change on controlled fixtures.
- Explain the intended security rule and why the observed behavior violates it.
- State prerequisites, uncertainty, cleanup, and the smallest demonstrated impact.
Conditional ATT&CK mapping#
No direct ATT&CK mapping selected. Record the weakness and demonstrated impact without forcing an adversary-behavior classification. See the mapping guide.