Description
LibreTV before v2.21.2 contains a server-side request forgery vulnerability that allows authenticated users to bypass checkUpstreamAllowed() by exploiting unpinned DNS resolution in fetchWithSafeRedirects(). Attackers controlling authoritative DNS can return public addresses during validation and internal addresses at connection time via /api/source/test, /api/proxy, /api/search or /api/detail to reach loopback services, private hosts or cloud metadata endpoints.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| LibreSpark | LibreTV | < v2.21.2 | v2.21.2 |
References
- https://github.com/LibreSpark/LibreTV/issues/941 issue-tracking
- https://github.com/LibreSpark/LibreTV/pull/960 patch issue-tracking
- https://github.com/LibreSpark/LibreTV/commit/cb4219368b7f6502387a703ef2a781ba763da2b1 patch
- LibreTV v2.21.2 Release Notes release-notes
- https://github.com/LibreSpark/LibreTV/blob/29cbeb3d37b4876f909a0354087a3531af0447f6/src/lib/ssrf.ts#L56-L85 technical-description
- VulnCheck Advisory: LibreTV before v2.21.2 SSRF Protection Bypass via DNS Rebinding third-party-advisory