{"answers":{"affected":"","exploited":"It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-77066 exists.","fix":"No fix has been published for CVE-2026-77066 yet. Limit exposure of the affected software until one is available.","what":"CVE-2026-77066 is a medium-severity server-side request forgery vulnerability in omnivore-app omnivore, published on 20 Aug 2026. Any signed-in user can exploit it over the network, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2026-77066 and fix it if it is affected.\n\nWhat it is: CVE-2026-77066 is a medium-severity server-side request forgery vulnerability in omnivore-app omnivore, published on 20 Aug 2026. Any signed-in user can exploit it over the network, with no action from the victim.\nExploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-77066 exists.\n\nAffected product: omnivore-app omnivore. No package-level version data is available, so check the vendor advisory linked from the reference page.\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-77066/ (Markdown: https://insights.sbomify.com/CVE-2026-77066/index.md)","id":"CVE-2026-77066","markdown":"https://insights.sbomify.com/CVE-2026-77066/index.md","name":"CVE-2026-77066","record":{"aliases":["GHSA-w9wc-vx4j-8xwg"],"analysis":{"component_type":"web_application","fix_type":"patch","impacts":["data_read","security_bypass"],"network_reachable":"yes","non_default_config":false,"product_category":"Omnivore server","requires_auth":"low_privilege","summary":"An authenticated user can exploit a missing URL validation in the scanFeeds resolver to perform Server-Side Request Forgery, accessing internal endpoints and leaking metadata.","user_interaction":"not_required","vuln_class":"ssrf"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"VulnCheck","cpe":[],"cvss":{"score":5.3,"severity":"medium","source":"cna","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:L/SI:N/SA:N","version":"4.0"},"cwes":[{"id":"CWE-918","name":"Server-Side Request Forgery"}],"description":"The scanFeedsResolver in packages/api/src/resolvers/subscriptions/index.ts passes the caller-supplied url straight to axios.get(url, rssParserConfig()) with no address validation. The same file guards the subscribe path with validateUrl(), which rejects private and reserved ranges through the private-ip library, and createPageSaveRequest applies the same check, so the omission is specific to this resolver. An authenticated user can direct the server to request arbitrary internal endpoints. The response is parsed as a feed or as HTML and the resolver returns the resulting url, title, description and type fields, so disclosure is limited to feed-shaped metadata and to link elements advertising RSS or Atom feeds; requests that do not parse still distinguish reachable ports from unreachable ones through the resulting error.","ecosystems":[],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"weaponised"},"has_fix":false,"headline":"Omnivore Server-Side Request Forgery via the scanFeeds GraphQL Query","id":"CVE-2026-77066","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":null,"products":[],"type":"ssrf","year":"2026"},"n_packages":0,"n_references":5,"next":{"headline":"Omnivore Stored Server-Side Request Forgery via the setWebhook Mutation","id":"CVE-2026-77067"},"packages":[],"prev":{"headline":"multer vulnerable to file size limit bypass via async fileFilter race condition","id":"CVE-2026-77063"},"products":["omnivore"],"published":"2026-08-20","related":[],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"no","exploitation":"poc","technical_impact":"partial"},"state":"PUBLISHED","updated":"2026-09-24","vendors":["omnivore-app"]},"summary":"An authenticated user can exploit a missing URL validation in the scanFeeds resolver to perform Server-Side Request Forgery, accessing internal endpoints and leaking metadata.","url":"https://insights.sbomify.com/CVE-2026-77066/"}