{"id":"CVE-2026-117562","kind":"vulnerability","aliases":["CVE-2026-117562"],"related":[],"title":"rssant: anonymous endpoint leaks stories from unpublished feeds","description":"rssant 1.9.0 through 1.9.1 contains an authorization bypass vulnerability that allows unauthenticated attackers to read stories from unpublished feeds through the anonymous publish.story_get endpoint. Because UnionStory.get_by_feed_offset ignores the only_publish flag, attackers can enumerate feed IDs and offsets to retrieve private feed stories.","summary":"rssant 1.9.0 through 1.9.1 has an authorization bypass in the anonymous publish.story_get endpoint. Unauthenticated attackers can enumerate feed IDs and offsets to read stories from feeds that were never published.","severity":"medium","cvss":6.9,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["package","python","rssant","self-hosted"],"not_affected_if":["version-outside-1.9.0-1.9.1"],"how_to_check":"- Check the installed rssant version with `pip show rssant` and see whether it falls in 1.9.0 through 1.9.1.\n- Look for the anonymous `publish.story_get` endpoint in the deployment.","fix":"- Upgrade rssant past `1.9.1`; the sources do not name the fixed version.","status":"open","published_at":"2026-10-27T14:16:38+00:00","first_seen_at":"2026-10-27T14:32:19+00:00","triaged_at":"2026-10-27T14:33:01+00:00","updated_at":"2026-10-27T14:33:01+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-10-27T14:33:01Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade rssant past `1.9.1`; the sources do not name the fixed version.","reach":"internet","title":"rssant: anonymous endpoint leaks stories from unpublished feeds","impact":"medium","summary":"rssant 1.9.0 through 1.9.1 has an authorization bypass in the anonymous publish.story_get endpoint. Unauthenticated attackers can enumerate feed IDs and offsets to read stories from feeds that were never published.","category":"package","nicknames":[],"who_cares":["rssant","self-hosted","python"],"confidence":0.6,"needs_auth":"no","worst_case":"Attackers read stories from private, unpublished feeds without logging in.","analyst_note":"Confirm the fixed rssant version and whether publish.story_get is enabled by default; see the NVD entry.","how_to_check":"- Check the installed rssant version with `pip show rssant` and see whether it falls in 1.9.0 through 1.9.1.\n- Look for the anonymous `publish.story_get` endpoint in the deployment.","needs_analyst":true,"not_affected_if":["version-outside-1.9.0-1.9.1"],"who_is_affected":"Teams running rssant 1.9.0 through 1.9.1 that expose the publish.story_get endpoint to the internet or a shared network. The sources do not say whether the default configuration exposes it. Deployments that do not run these versions can skip it.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"unknown"},"cost_usd":0.000602,"input_tokens":3355,"output_tokens":532,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-117562':11A,14A '-2026':10A,13A '1.9.0':22B,53C '1.9.1':24B,55C 'allow':62C 'anonym':2A,31B,73C 'attack':36B,64C,87C 'author':27B,58C 'bypass':28B,59C 'contain':56C 'cve':9A,12A 'endpoint':3A,34B,76C 'enumer':38B,89C 'feed':8A,39B,47B,70C,80C,90C,97C 'flag':86C 'get':33B,75C 'host':20B 'id':40B,91C 'ignor':82C 'leak':4A 'never':50B 'offset':42B,81C,93C 'packag':15B 'privat':96C 'publish':51B,85C 'publish.story':32B,74C 'python':16B 'read':44B,66C 'retriev':95C 'rssant':1A,17B,21B,52C 'self':19B 'self-host':18B 'stori':5A,45B,67C,98C 'unauthent':35B,63C 'unionstory.get':78C 'unpublish':7A,69C 'vulner':60C","nicknames":[],"mitigations":[],"who_affected":"Teams running rssant 1.9.0 through 1.9.1 that expose the publish.story_get endpoint to the internet or a shared network. The sources do not say whether the default configuration exposes it. Deployments that do not run these versions can skip it.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-27T14:16:38+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"disclosure@vulncheck.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-117562","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-117562","severity":null,"published_at":"2026-10-27T14:16:38+00:00","modified_at":"2026-10-27T14:16:38+00:00","first_seen_at":"2026-10-27T14:32:19+00:00","fetched_at":"2026-10-27T14:32:19+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}