Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P/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
SSRF with PR:L authentication; confidentiality impact only (internal resource access), no direct integrity or availability impact on the vulnerable system.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
Lifecycle Timeline
3DescriptionCVE.org
A vulnerability was detected in kLOsk adloop up to 0.9.0. This vulnerability affects the function _validate_urls of the file src/adloop/ads/write.py. Performing a manipulation of the argument final_url results in server-side request forgery. The attack may be initiated remotely. The exploit is now public and may be used. Upgrading to version 0.10.0 is able to resolve this issue. The patch is named 217399723e3a2fb39389e5355d49ed80aaf9ea7c. Upgrading the affected component is advised.
AnalysisAI
Server-side request forgery in kLOsk adloop through version 0.9.0 allows authenticated remote attackers to manipulate the final_url argument passed to the _validate_urls function in src/adloop/ads/write.py, causing the server to issue arbitrary outbound HTTP requests. Internal network services, cloud metadata endpoints, and other non-public resources reachable from the server may be exposed. A public proof-of-concept exploit exists via GitHub issue #41, and a vendor-released patch is available in version 0.10.0.
Technical ContextAI
The affected component is the _validate_urls function in src/adloop/ads/write.py within the kLOsk adloop advertising management library (CPE: cpe:2.3:a:klosk:adloop:*:*:*:*:*:*:*:*). The root cause is CWE-918 (Server-Side Request Forgery), where user-supplied input - specifically the final_url parameter - is passed to a server-side HTTP request without sufficient validation or allowlist enforcement. This allows the server to act as a proxy, fetching attacker-controlled destinations including RFC-1918 addresses, loopback interfaces, and cloud instance metadata services (e.g., 169.254.169.254). The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L) confirms network-reachable exploitation at low complexity once a valid authenticated session is obtained.
RemediationAI
Upgrade adloop to version 0.10.0 immediately; this is the vendor-confirmed fix delivered via commit 217399723e3a2fb39389e5355d49ed80aaf9ea7c (https://github.com/kLOsk/adloop/commit/217399723e3a2fb39389e5355d49ed80aaf9ea7c) and tagged as release v0.10.0 (https://github.com/kLOsk/adloop/releases/tag/v0.10.0). If upgrading is not immediately possible, restrict outbound HTTP connectivity from the server hosting adloop using egress firewall rules, blocking access to RFC-1918 ranges and cloud metadata endpoints (e.g., 169.254.169.254); note this is a network-level control and does not eliminate the vulnerability. Additionally, limiting access to the ad-writing functionality to trusted, minimally privileged accounts reduces the pool of potential attackers given the PR:L requirement.
Same weakness CWE-918 – Server-Side Request Forgery (SSRF)
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-43267
GHSA-cvvx-wcx7-g65m