{"id":"CVE-2026-77067","summary":"Omnivore Stored Server-Side Request Forgery via the setWebhook Mutation","details":"The setWebhookResolver in packages/api/src/resolvers/webhooks/index.ts stores the caller-supplied url without any address validation, and the file imports no validation helper. When a subscribed event fires, callWebhook in packages/api/src/jobs/call_webhook.ts issues axios.request with that url, the method and Content-Type recorded on the webhook, and a JSON body carrying the event data, so an authenticated user can make the server send repeated attacker-shaped requests to internal endpoints, including link-local metadata addresses. The request is blind: callWebhook discards the result and writes only a success line or the axios error to the server log, so the response is not returned through the API.","modified":"2026-08-22T03:50:57.474993768Z","published":"2026-08-20T11:05:51.482Z","database_specific":{"unresolved_ranges":[{"source":"AFFECTED_FIELD","extracted_events":[{"fixed":"c4d7d8562e6b9aabb1d8e4dabca268e314baa43a"}]}],"cna_assigner":"VulnCheck","cwe_ids":["CWE-918"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/77xxx/CVE-2026-77067.json"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/77xxx/CVE-2026-77067.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-77067"},{"type":"ADVISORY","url":"https://www.vulncheck.com/advisories/omnivore-stored-server-side-request-forgery-via-the-setwebhook-mutation"},{"type":"REPORT","url":"https://github.com/omnivore-app/omnivore/issues/4647"},{"type":"FIX","url":"https://github.com/omnivore-app/omnivore/commit/c4d7d8562e6b9aabb1d8e4dabca268e314baa43a"},{"type":"PACKAGE","url":"https://github.com/omnivore-app/omnivore"},{"type":"ARTICLE","url":"https://github.com/omnivore-app/omnivore/blob/0d66408746788e07cec43928581b2567308ab575/packages/api/src/jobs/call_webhook.ts#L36"},{"type":"ARTICLE","url":"https://github.com/omnivore-app/omnivore/blob/0d66408746788e07cec43928581b2567308ab575/packages/api/src/resolvers/webhooks/index.ts#L108"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/omnivore-app/omnivore","events":[{"introduced":"0"},{"fixed":"c4d7d8562e6b9aabb1d8e4dabca268e314baa43a"}],"database_specific":{"source":"REFERENCES"}}],"versions":["android-0.220.0","android-0.218.0","android-0.202.4","android-0.202.3","android-0.202.0","android-0.200.8","android-0.200.5","android-0.200.4","android-0.200.2","android-0.200.1","android-0.194.1","android-0.194.0","android-0.192.0","android-0.190.0","android-0.0.170","android-0.0.178","android-0.0.158","android-0.0.152","extension-2.8.9","android-0.0.146","android-0.0.134","android-0.0.132","android-0.0.130","android-0.0.126","android-0.0.124","android-0.0.122","android-0.0.118","android-0.0.110","android-0.0.102","android-0.0.101","v1.4.2-10"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-77067.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:L/SA:N"}]}