Headline
GHSA-pxg5-h34r-7q8p: GeoNode vulnerable to SSRF Bypass to return internal host data
A SSRF vulnerability exists, bypassing existing controls on the software. This can allow a user to request internal services for a full read SSRF, returning any data from the internal network.
the application is using a whitelist, but the whitelist can be bypassed with @ and encoded value of @ (%40) GET /proxy/?url=http://development.demo.geonode.org%40geoserver:8080/geoserver/web This will trick the application that the first host is a whitelisted address, but the browser will use @ or %40 as a credential to the host geoserver on port 8080, this will return the data to that host on the response.
Package
pip GeoNode (pip)
Affected versions
>= 3.2.0, <= 4.1.2
Patched versions
4.1.3.post1
Description
A SSRF vulnerability exists, bypassing existing controls on the software. This can allow a user to request internal services for a full read SSRF, returning any data from the internal network.
the application is using a whitelist, but the whitelist can be bypassed with @ and encoded value of @ (%40) GET /proxy/?url=http://development.demo.geonode.org%40geoserver:8080/geoserver/web
This will trick the application that the first host is a whitelisted address, but the browser will use @ or %40 as a credential to the host geoserver on port 8080, this will return the data to that host on the response.
References
- GHSA-pxg5-h34r-7q8p
- https://nvd.nist.gov/vuln/detail/CVE-2023-42439
- GeoNode/geonode@79ac6e7
- https://github.com/GeoNode/geonode/releases/tag/4.1.3
- https://github.com/pypa/advisory-database/tree/main/vulns/geonode/PYSEC-2023-176.yaml
giohappy published to GeoNode/geonode
Sep 15, 2023
Published to the GitHub Advisory Database
Sep 20, 2023
Reviewed
Sep 20, 2023
Related news
GeoNode is an open source platform that facilitates the creation, sharing, and collaborative use of geospatial data. A SSRF vulnerability exists starting in version 3.2.0, bypassing existing controls on the software. This can allow a user to request internal services for a full read SSRF, returning any data from the internal network. The application is using a whitelist, but the whitelist can be bypassed. The bypass will trick the application that the first host is a whitelisted address, but the browser will use `@` or `%40` as a credential to the host geoserver on port 8080, this will return the data to that host on the response. Version 4.1.3.post1 is the first available version that contains a patch.