Description
Buku (bukuserver) through 5.1.1 contains an unauthenticated server-side request forgery vulnerability that allows remote attackers to make the server request internal hosts by supplying a url parameter to /api/fetch_data or /api/network_handle. Attackers can target loopback, private, or cloud metadata IP addresses, which pass the weak is_bad_url() check and follow redirects, to discover internal services and read their page titles, descriptions, and keywords.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| jarun | buku | ≤ 5.1.1 | — |
References
- https://github.com/jarun/buku/issues/910 issue-tracking
- https://github.com/jarun/buku/pull/916 patch issue-tracking
- https://github.com/jarun/buku/commit/13f6497afc974f02f1069b760772abe8815d1675 patch
- https://github.com/jarun/buku/blob/e232ac357cbba22fe69d6d6dfc0d35512a4cd313/bukuserver/api.py#L97-L105 technical-description
- https://github.com/jarun/buku/blob/e232ac357cbba22fe69d6d6dfc0d35512a4cd313/buku.py#L4057-L4084 technical-description
- VulnCheck Advisory: buku through 5.1.1 SSRF via bukuserver fetch_data and network_handle API third-party-advisory