{"id":"CVE-2026-79717","title":"Galaxy_ng: galaxy_ng: blind ssrf via namespace avatar_url with no private-address restriction","summary":"A server-side request forgery (SSRF) vulnerability was found in galaxy_ng, the Ansible Galaxy server plugin for Pulp. An authenticated user with namespace management permissions can set a namespace avatar URL to an arbitrary address, inc…","severity":"medium","cvss":6.4,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:L","cvssSource":"cna","cwe":["CWE-918"],"vendor":"Red Hat","product":"ansible-automation-platform-24/hub-rhel8","affected":["ansible-automation-platform-24/hub-rhel8 (all versions)","ansible-automation-platform-25/hub-rhel8 (all versions)","ansible-automation-platform-26/hub-rhel9 (all versions)","ansible-automation-platform-27/hub-rhel9 (all versions)","python3.11-galaxy-ng (all versions)","python3.12-galaxy-ng (all versions)","python3x-galaxy-ng (all versions)","python-galaxy-ng (all versions)"],"ssvc":{"exploitation":"none","automatable":"no","technicalImpact":"partial","timestamp":"2026-08-27T14:27:14.987001Z"},"published":"2026-08-25","updated":"2026-11-06","sourceUpdated":"2026-11-06T00:55:02.425Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-79717","references":[{"url":"https://access.redhat.com/security/cve/CVE-2026-79717"},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2523431","label":"RHBZ#2523431"},{"url":"https://github.com/ansible/galaxy_ng"}],"tags":["cve.org"],"epss":0.00374,"epssPercentile":0.31545,"ingestedAt":"2026-11-06T01:43:15.129Z","slug":"CVE-2026-79717","body":"## Overview\n\nA server-side request forgery (SSRF) vulnerability was found in galaxy_ng, the Ansible Galaxy server plugin for Pulp. An authenticated user with namespace management permissions can set a namespace avatar URL to an arbitrary address, including internal networks, loopback, or cloud instance metadata endpoints. A background worker fetches that URL without checking the destination, which lets the attacker probe internal services and enumerate reachable IP addresses. The HTTP client is also configured without an overall timeout, so a slow or non-responsive target can pin workers and cause a denial of service.\n\n## Affected\n\n- `ansible-automation-platform-24/hub-rhel8 (all versions)`\n- `ansible-automation-platform-25/hub-rhel8 (all versions)`\n- `ansible-automation-platform-26/hub-rhel9 (all versions)`\n- `ansible-automation-platform-27/hub-rhel9 (all versions)`\n- `python3.11-galaxy-ng (all versions)`\n- `python3.12-galaxy-ng (all versions)`\n- `python3x-galaxy-ng (all versions)`\n- `python-galaxy-ng (all versions)`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.\n\n### Workarounds\n\nThere is no complete mitigation for this vulnerability. The following measures can reduce risk:\n\n1. Restrict galaxy.change_namespace and galaxy.add_namespace to trusted administrators only, so fewer users can trigger avatar downloads.\n2. In cloud deployments, protect instance metadata with hop-limited controls such as AWS IMDSv2 with HttpPutResponseHopLimit=1.\n3. Apply egress filtering on Pulp worker nodes so they cannot reach RFC1918, loopback, link-local, or cloud metadata addresses that are not required for normal Galaxy operation.","depth":"sunlit","depthScore":35,"depthScoreParts":{"impact":35.2,"likelihood":0.1,"exploitation":0,"ransomware":0},"changes":[]}