Executive brief
Omnivore is an open-source read-it-later application that lets users save and organize articles. A vulnerability in the feed scanning feature allows authenticated users to make the server request arbitrary internal network resources (such as cloud metadata services or internal APIs), potentially exposing sensitive information or service metadata. While the impact is limited to information that resembles RSS feed metadata and error-based discovery of internal ports, an attacker can use this to map the server's internal network.
Technical details
The scanFeedsResolver in packages/api/src/resolvers/subscriptions/index.ts passes a caller-supplied URL directly to axios.get() without validating whether it targets private or reserved IP ranges. Other resolvers in the same file (subscribe and createPageSaveRequest) correctly validate URLs using the private-ip library to reject internal addresses, indicating this omission is inconsistent and unintentional. An authenticated attacker can supply an internal IP address or reserved range URL, causing the server to make requests to internal endpoints. The response is parsed for RSS/Atom feed metadata; even failed requests can leak information about port reachability through error messages, enabling SSRF-based reconnaissance of the internal network. There is no public information on patch availability at this time.
Affected products
- Omnivore Omnivore prior to fix
Timeline
- 2026-08-20: disclosed
- 2026-08-20: advisory