Authenticated full-read SSRF via unvalidated radio URLs
Published Aug 19, 2026 · Updated Aug 19, 2026
Server-side request forgery in Koel before 9.7.0 allows remote authenticated users to read internal HTTP responses via radio URLs. The Subsonic createInternetRadioStation.view and updateInternetRadioStation.view requests accept streamUrl without SafeUrl or HasAudioContentType, and RadioStreamProxy::openStream() later passes that stored URL to fopen() and relays the response body through /radio/stream/{id}. Any authenticated account that can create or update a radio station can use the Koel server as a full-read proxy to loopback, RFC1918, Docker bridge, metadata, or other reachable internal HTTP services.
Summary
What happened
Server-side request forgery in Koel before 9.7.0 allows remote authenticated users to read internal HTTP responses via radio URLs. The Subsonic createInternetRadioStation.view and updateInternetRadioStation.view requests accept streamUrl without SafeUrl or HasAudioContentType, and RadioStreamProxy::openStream() later passes that stored URL to fopen() and relays the response body through /radio/stream/{id}. Any authenticated account that can create or update a radio station can use the Koel server as a full-read proxy to loopback, RFC1918, Docker bridge, metadata, or other reachable internal HTTP services.
The record
- CVE
- CVE-2026-54493
- Published
- Aug 19, 2026
- Updated
- Aug 19, 2026
- Vendor
- Koel
- Product
- Koel
- Classifications
- CWE-918, T1190
- Attack vector
- network
- Privileges
- authenticated
Timeline
How it unfolded
- Aug 19, 2026CVE publishedPublication date reported by the CVE source.
- Aug 19, 2026Record updatedLatest update available in the CVE record.
Exploitability
Present is not the same as exploitable
Compare your product and version with the public record. A matching version still requires validation against your environment.
Is a vulnerable build present?
Compare these published version ranges with your installed build and any vendor patches.
- Affected versionversion=< 9.7.0
What conditions does exploitation require?
What is affected?
Published CVSS scores
CVSS describes severity. EPSS estimates exploitation probability.
Attacks
What attackers are doing with it
Daily unique IPs observed by Shadowserver honeypots for known exploited vulnerabilities (KEVs). Missing observations do not establish an absence of attacks.
Weakness, pattern, technique
Public exploit references
- GHSA-6p96-cfg5-4vhp proof of conceptproof of concept · demonstrated
Labels summarize the accepted research assessment. They do not indicate a test against your environment.
Technologies
Your stack
See the directory against your own environment.
Your stack
Check the software in your environment
Book a demo to see how Hinoki identifies affected software and validates exploitability in your environment.
Book a demo