Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessRegister low-privileged account (signup enabled)
-
DeliveryAdd feed URL pointing at 169.254.169.254
-
ExploitServer fetches internal/metadata endpoint
-
ExecutionResponse returns IAM credentials
-
ImpactSteal cloud credentials or scan internal network
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Credential Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an authenticated Stringer account; exploitation by low-privileged users is possible only when self-service signup (Setting::UserSignup) is enabled, otherwise an admin-created account is needed. The attacker must be able to add or import a feed whose URL is attacker-controlled. Highest impact (IAM credential theft) requires Stringer to be deployed on a cloud instance with an attached IAM role reachable via the metadata endpoint (e.g., AWS IMDSv1); without such a deployment the impact is limited to internal port/service scanning against localhost and the private network. Affected versions are all releases prior to commit 75cb095. |
| Impact | The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L, base 7.6) reflects a network-reachable, low-complexity SSRF that requires only a low-privileged authenticated account - realistic when self-service signup (Setting::UserSignup) is enabled, which effectively lowers the auth barrier toward anonymous. No EPSS score, KEV listing, or public POC is present in the input, so exploitation status is 'no public exploit identified at time of analysis' - this is not confirmed active exploitation despite the plausible-and-serious IMDS credential-theft impact. The absence of EPSS/KEV signals combined with the product being an obscure self-hosted RSS reader means real-world targeting is low, so this reads as a legitimate but low-priority issue rather than a widespread emergency. The classic SSRF-to-cloud-metadata chain (169.254.169.254) is well understood and easily weaponizable in principle, so environments running Stringer on AWS with an instance role should treat the patch as important even though no in-the-wild activity is reported. The C:H rating is driven by the IAM credential-theft scenario; I/A:L reflect limited write/DoS potential via internal request forgery. |
| Exploit ScenarioDerived | An attacker registers a low-privileged account (trivial when self-service signup is enabled) and adds an RSS feed whose URL points at an internal service or the AWS metadata endpoint http://169.254.169.254/latest/meta-data/iam/security-credentials/. The Stringer server fetches that URL via HTTParty/Feedbag with no scheme or private-IP validation, returning internal responses or IAM credentials to the attacker. No public exploit code is identified, but the technique is standard and the fix diff publicly documents the vulnerable fetch paths. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 28, 2026
Server-side request forgery in Stringer, a self-hosted RSS reader, allows an authenticated low-privileged user to make the server issue arbitrary HTTP/HTTPS requests to internal network hosts, loopback services, and cloud metadata endpoints such as AWS IMDS at 169.254.169.254. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L, base 7.6) confirms a network-reachable, low-complexity attack requiring only an authenticated account - a barrier that collapses to near-anonymous when self-service signup (Setting::UserSignup) is enabled, since any visitor can register. Impact ranges from internal port and service scanning to theft of cloud IAM credentials when Stringer runs on a cloud instance with an attached role reachable via IMDSv1; there is no public exploit identified at time of analysis and no confirmed CISA KEV active exploitation, though the attack surface is trivial to exercise for anyone holding a valid session.
RemediationAI
Upstream fix available (PR/commit); released patched version not independently confirmed - Stringer's vendors patched this via commit 75cb095 (PR #1548), so deployments tracking the repository should update to that commit or later, and operators relying on packaged releases should verify whether a tagged version incorporating 75cb095 has shipped before assuming they are covered. Because there is no vendor-released patch version string to pin to, prioritize compensating controls in the interim: disable self-service registration (Setting::UserSignup) so only admin-created accounts exist, which converts the attacker prerequisite from any visitor to a vetted user but does not remove the flaw for existing low-privileged accounts; enforce IMDSv2 (or disable the instance metadata service entirely) so that even successful SSRF to 169.254.169.254 cannot retrieve role credentials - this eliminates the highest-impact data-theft path at the cost of requiring token-based metadata calls from every workload on the instance; and apply egress firewall or network-policy rules from the Stringer container/host that drop traffic to 169.254.0.0/16, 127.0.0.0/8, and RFC1918 ranges except where genuinely required, which blocks the internal-scanning and loopback cases but may break legitimate feeds hosted on private networks. Running Stringer in an isolated network namespace without a metadata route provides comparable protection with the same trade-off. Verify that any cached or previously imported feed entries containing internal URLs are removed, since the fetcher will retry stored feed URLs.
Affected VersionsENISA
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The root cause is CWE-918 (Server-Side Request Forgery) in a Ruby on Rails application. Stringer fetches and auto-discovers feed URLs supplied by users through app/commands/feed/fetch_one.rb, which called HTTParty.get(feed.url) directly, and app/utils/feed_discovery.rb, which passed the URL to Feedbag.find and then fetched it with HTTParty.get(url). Because no scheme restriction or destination-address validation existed, a user-controlled feed URL could point at file:/// etc., at loopback services such as 127.0.0.1:port, at RFC1918 private ranges, or at the link-local metadata address 169.254.169.254 used by AWS IMDS. The upstream fix (PR #1548, commit 75cb095) introduces app/utils/safe_fetch.rb, which enforces an ALLOWED_SCHEMES allowlist of http and https (raising SafeFetch::UnsafeUrl for anything else, including malformed and scheme-less URLs) and wraps outbound calls in PrivateAddressCheck.only_public_connections, pulling in the private_address_check gem (0.8.0) with its TCPSocket extension so the connected peer address is re-validated on every redirect hop rather than only at the initial URL parse - closing the redirect-to-internal-address bypass that a one-time DNS check would leave open. Feed discovery now returns an empty result instead of raising when a URL is judged unsafe.
Know when Stringer gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L
Network-reachable feed fetch, low complexity, requires an authenticated (possibly self-registered) account so PR:L; C:H for IMDS credential/internal data leak, I/A:L for limited internal request forgery.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Stringer is a self-hosted, anti-social RSS reader. Prior to commit 75cb095, an unrestricted Server-Side Request Forgery (SSRF) vulnerability allows any authenticated user to force the Stringer server to send arbitrary HTTP/HTTPS requests to internal networks, localhost services, and cloud metadata endpoints (e.g. AWS IMDS 169.254.169.254). When self-service signup is enabled (Setting::UserSignup), even a low-privileged registered user can exploit this to scan internal services or steal cloud IAM credentials. This issue has been patched via commit 75cb095.
Technical POC Analysis
CWE-918 (Server-Side Request Forgery).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Stringer, a self-hosted RSS reader, contains a server-side request forgery vulnerability (CVE-2026-55160) that allows any authenticated low-privileged user-including self-registered users if signup is enabled-to force the server to access internal network services and cloud metadata endpoints. This could expose sensitive internal systems or cloud credentials, potentially enabling lateral movement or privilege escalation within the hosting environment. Leadership should care because it affects the confidentiality of internal infrastructure and cloud resources, and no vendor-released patch is identified at time of analysis.
Restrict outbound network traffic from the Stringer host via egress firewall rules; disable self-service registration (Setting::UserSignup); block access to 169.254.169.254 or enforce IMDSv2; segment the Stringer server from internal management networks and cloud metadata services; monitor egress logs for requests to private IP ranges and metadata endpoints.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.
EUVD-2026-88400
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB