Skip to main content

Stringer CVE-2026-55160

| EUVDEUVD-2026-88400 HIGH
Server-Side Request Forgery (SSRF) (CWE-918)
2026-09-28 GitHub_M
7.6
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Register low-privileged account (signup enabled)
  2. Delivery
    Add feed URL pointing at 169.254.169.254
  3. Exploit
    Server fetches internal/metadata endpoint
  4. Execution
    Response returns IAM credentials
  5. Impact
    Steal 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

stringer < 75cb0955919a362ac49d23c8a14892d0f59ea1c4

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

Vendor (GitHub_M) PRIMARY 7.6 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L
vuln.today AI 7.6 HIGH

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.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:L/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
Low
Availability
Low

Lifecycle Timeline

2
Patch available
Sep 28, 2026 - 19:01 EUVD
CVE Published
Sep 28, 2026 - 17:52 cve.org
HIGH 7.6

DescriptionCVE.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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.3%
Top 82% exploitable
Prevalence
Rare
niche self-hosted hobby RSS reader, negligible enterprise footprint
Data Quality
6 sources
Confidence: High

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy