Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconAuthenticate to Wallos application
-
DeliveryAccess subscription or payment add endpoint
-
ExploitSubmit logo URL targeting 100.64.0.0/10 address
-
InstallWallos performs IP validation (misses CGNAT range)
-
C2cURL fetches URL from internal service
-
ExecuteAttacker observes response timing and status codes
-
ImpactInfer internal service presence and topology
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 | Attacker must be authenticated to Wallos (PR:L in CVSS vector confirms low-privilege authentication requirement). The target Wallos deployment must be connected to or able to reach a network segment using CGNAT addressing (100.64.0.0/10), such as a Tailscale mesh network, ISP carrier-grade NAT, or internal CGNAT subnets. The subscription or payment endpoints (endpoints/subscription/add.php or endpoints/payments/add.php) must accept user-supplied URLs for logo/icon fields. No special configuration beyond default Wallos installation is required; the vulnerability is present in default code paths. Non-default configurations that disable logo fetching or restrict outbound connectivity would mitigate exploitation. The vulnerability does NOT require unauthenticated access, does NOT require user interaction beyond submitting a form, and does NOT affect confidentiality or integrity of Wallos data itself, only enables reconnaissance of internal networks. |
| Impact | CVSS 4.3 with AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N correctly reflects that this is a network-accessible vulnerability with low attack complexity but requiring low-privilege authentication. Exploitation probability is moderate: CGNAT environments (Tailscale mesh networks, ISP carrier-grade NAT deployments, enterprise dual-stack NAT) are increasingly common, but the vulnerability requires authenticated access, limiting widespread automated exploitation. The blind SSRF aspect means an attacker cannot directly exfiltrate data but can probe service availability, gather version banners via timing/error analysis, or trigger side-channel information disclosure. Patch availability (4.8.1 released) and fix confirmation via commit evidence significantly reduce risk for updated installations. For unpatched Wallos deployments in CGNAT or Tailscale environments with untrusted users, this poses real reconnaissance risk; in isolated networks or with strict user access controls, real-world impact is lower. No EPSS score provided, but KEV status unknown - this appears to be a GitHub-disclosed vulnerability without confirmed active exploitation. |
| Exploit ScenarioDerived | A low-privileged authenticated Wallos user (or one who has compromised user credentials) navigates to the subscription or payment addition form. They enter a logo URL pointing to an internal Tailscale or carrier-grade NAT service: http://100.64.0.5:8080/admin. Wallos passes this URL to cURL for fetching the logo, bypassing SSRF validation because the CGNAT range is not blocked. The attacker observes response timing, HTTP status codes, or error messages to infer whether services are listening at that address, gathering network topology information for further exploitation or lateral movement. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – May 07, 2026
Blind SSRF via CGNAT address bypass in Wallos prior to version 4.8.1 allows authenticated users to probe internal services on Carrier-Grade NAT networks (100.64.0.0/10) through logo/icon URL fetching in subscription and payment endpoints. The vulnerability stems from incomplete IP range validation that fails to block RFC 6598 CGNAT addresses, enabling reconnaissance of services in Tailscale, dual-stack carrier environments, and internal infrastructure. CVSS 4.3 reflects limited confidentiality impact with authentication requirement; actively fixed in 4.8.1.
RemediationAI
Upgrade Wallos to version 4.8.1 or later immediately. The patched version incorporates CGNAT range validation (100.64.0.0/10) into the inline IP checks and unifies SSRF validation logic across subscription, payment, and notification endpoints. For installations that cannot upgrade immediately, implement network-layer controls: restrict outbound HTTP/HTTPS from Wallos containers/instances to block traffic destined for 100.64.0.0/10 and RFC 1918 ranges at the firewall or security group level. Alternatively, disable logo/icon URL fetching by patching endpoints/subscription/add.php and endpoints/payments/add.php to reject any external URL input for these fields, reducing attack surface to zero at the cost of removing dynamic logo functionality. Monitor server logs for requests to 100.64.0.0/10 ranges or unusual curl/HTTP client activity from the Wallos process as a temporary detection control. See GitHub advisory GHSA-4v59-hghw-7gc2 and commit e79f28be6be0435fbc93563fb3c0e62206b48e85 for technical implementation details.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Wallos implements SSRF protection using PHP's FILTER_FLAG_NO_PRIV_RANGE and FILTER_FLAG_NO_RES_RANGE filters in endpoints/subscription/add.php and endpoints/payments/add.php. These filters block RFC 1918 private ranges (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) and reserved ranges, but exclude RFC 6598 Carrier-Grade NAT space (100.64.0.0/10). While includes/ssrf_helper.php defines is_cgnat_ip() to address this gap and is correctly used in notification endpoints, the subscription and payment logo/icon URL fetching functions perform their own inline validation that neglects the CGNAT range. This allows authenticated attackers to craft URLs targeting 100.64.0.0/10 addresses to reach services deployed in Tailscale networks, carrier-grade NAT environments, or other deployments using this address space. The root cause is CWE-918 (Server-Side Request Forgery), exacerbated by incomplete allowlist/blocklist logic across multiple code paths.
Know when Wallos 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:L/I:N/A:N
Primary rating from Vendor (GitHub_M) · only source for this CVE.
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Wallos is an open-source, self-hostable personal subscription tracker. Prior to version 4.8.1, the SSRF protection in endpoints/subscription/add.php (line 42) and endpoints/payments/add.php (line 40) uses an inline IP validation check (FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE) that does not block CGNAT addresses (100.64.0.0/10, RFC 6598). The includes/ssrf_helper.php file explicitly defines is_cgnat_ip() to cover this gap (used by notification endpoints), but the logo/icon URL fetching in subscription and payment endpoints performs its own inline validation that misses this range. This allows authenticated users to perform Blind SSRF to internal services in Tailscale, Carrier-Grade NAT, and other environments using 100.64.0.0/10 addresses. This issue has been patched in version 4.8.1.
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.
Wallos <=2.38.2 has a file upload vulnerability in the restore database function, which allows unauthenticated users to
Wallos <= 2.38.2 has a file upload vulnerability in the restore backup function, which allows authenticated users to res
Server-side request forgery in Wallos versions before 4.6.2 allows authenticated attackers to conduct arbitrary network
Wallos before 1.15.3 is vulnerable to SQL Injection via the category and payment parameters to /subscriptions/get.php. R
Wallos versions 4.6.0 and below allow authenticated attackers to perform Server-Side Request Forgery attacks through the
Path traversal in Wallos subscription tracker versions prior to 4.6.2 allows unauthenticated remote attackers to read ar
Reflected cross-site scripting (XSS) in Wallos password reset functionality before version 4.6.2 allows unauthenticated
Wallos 0.9 is vulnerable to Cross Site Scripting (XSS) in all text-based input fields without proper validation, excludi
Zip Slip path traversal in Wallos's database restore endpoint allows an authenticated administrator to write arbitrary f
SSRF via admin-configurable OIDC endpoint URLs in Wallos subscription tracker allows an authenticated admin to direct th
Wallos, an open-source self-hostable subscription tracker, contains a Server-Side Request Forgery (SSRF) vulnerability i
Wallos prior to version 4.6.2 contains an authorization bypass allowing authenticated users to delete avatar files belon
EUVD-2026-28383
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB