{"id":"CVE-2026-12398","aliases":["EUVD-2026-37124","GHSA-6hw7-j4jw-wpff","PYSEC-2026-2486"],"status":"published","title":"Galaxy_ng: shell injection in legacy role import via unsanitized git ref names","description":"A command injection vulnerability was found in galaxy_ng. The do_git_checkout() function in the legacy role import API (v1) interpolates unsanitized git ref names (branch/tag names) into shell commands executed via subprocess.run() with shell=True. An authenticated user who controls a git repository can create a branch or tag with shell metacharacters in the name to achieve remote code execution on the pulp worker. The vulnerable endpoint is only reachable when GALAXY_ENABLE_LEGACY_ROLES is set to True, which is not the default configuration.","severity":{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.00889,"percentile":0.59646,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-78"],"published":"2026-06-16T14:52:06Z","modified":"2026-11-05T17:02:37Z","affected":[{"source":"ghsa","ecosystem":"PyPI","package":"galaxy-ng","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"4.9.2"}]}]},{"source":"osv","ecosystem":"PyPI","package":"galaxy-ng","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"4.9.2"}]}],"versions":["4.2.0","4.2.0a10","4.2.0a12","4.2.0a3","4.2.0a4","4.2.0a5","4.2.0a6","4.2.0a7","4.2.0a8","4.2.0a9","4.2.0b1","4.2.0b2","4.2.0b3","4.2.0rc1","4.2.0rc2","4.2.0rc3","4.2.1","4.2.2","4.2.3","4.2.3b1","4.2.4","4.2.5","4.2.6","4.2.7","4.2.8","4.3.0","4.3.0a1","4.3.0a2","4.3.0b4","4.3.1","4.3.2","4.3.3","4.3.4","4.3.5","4.4.0","4.4.0a1","4.4.0a2","4.4.0b1","4.4.0b2","4.4.1","4.4.2","4.4.3","4.4.4","4.4.5","4.5.0","4.5.0b1","4.5.1","4.5.2","4.5.3","4.5.4","4.5.5","4.6.0","4.6.1","4.6.2","4.6.3","4.6.4","4.6.5","4.6.6","4.7.0","4.7.1","4.7.2","4.7.3","4.8.0","4.8.1","4.9.0","4.9.1","4.9.2"]},{"source":"osv","ecosystem":"PyPI","package":"galaxy-ng","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"4.9.2"}]}],"versions":["4.2.0","4.2.0a10","4.2.0a12","4.2.0a3","4.2.0a4","4.2.0a5","4.2.0a6","4.2.0a7","4.2.0a8","4.2.0a9","4.2.0b1","4.2.0b2","4.2.0b3","4.2.0rc1","4.2.0rc2","4.2.0rc3","4.2.1","4.2.2","4.2.3","4.2.3b1","4.2.4","4.2.5","4.2.6","4.2.7","4.2.8","4.3.0","4.3.0a1","4.3.0a2","4.3.0b4","4.3.1","4.3.2","4.3.3","4.3.4","4.3.5","4.4.0","4.4.0a1","4.4.0a2","4.4.0b1","4.4.0b2","4.4.1","4.4.2","4.4.3","4.4.4","4.4.5","4.5.0","4.5.0b1","4.5.1","4.5.2","4.5.3","4.5.4","4.5.5","4.6.0","4.6.1","4.6.2","4.6.3","4.6.4","4.6.5","4.6.6","4.7.0","4.7.1","4.7.2","4.7.3","4.8.0","4.8.1","4.9.0","4.9.1","4.9.2"]}],"products":[{"vendor":"red hat","product":"red hat ansible automation platform 2"}],"references":[{"url":"https://access.redhat.com/security/cve/CVE-2026-12398","tags":["vdb-entry","x_refsource_REDHAT","web"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2489180","tags":["issue-tracking","x_refsource_REDHAT","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-12398","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-6hw7-j4jw-wpff","tags":["advisory"]},{"url":"https://github.com/ansible/galaxy_ng","tags":["package"]},{"url":"https://pypi.org/project/galaxy-ng","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2026-12398","title":"Galaxy_ng: shell injection in legacy role import via unsanitized git ref names","description":"A command injection vulnerability was found in galaxy_ng. The do_git_checkout() function in the legacy role import API (v1) interpolates unsanitized git ref names (branch/tag names) into shell commands executed via subprocess.run() with shell=True. An authenticated user who controls a git repository can create a branch or tag with shell metacharacters in the name to achieve remote code execution on the pulp worker. The vulnerable endpoint is only reachable when GALAXY_ENABLE_LEGACY_ROLES is set to True, which is not the default configuration.","status":"published","published":"2026-06-16T14:52:06.734Z","modified":"2026-11-05T17:02:37.551Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"cna"}],"cwes":["CWE-78"],"updated_at":"2026-11-05T18:54:21.089916Z"}],"euvd":[{"id":"EUVD-2026-37124","description":"A command injection vulnerability was found in galaxy_ng. The do_git_checkout() function in the legacy role import API (v1) interpolates unsanitized git ref names (branch/tag names) into shell commands executed via subprocess.run() with shell=True. An authenticated user who controls a git repository can create a branch or tag with shell metacharacters in the name to achieve remote code execution on the pulp worker. The vulnerable endpoint is only reachable when GALAXY_ENABLE_LEGACY_ROLES is set to True, which is not the default configuration.","status":"published","published":"2026-06-16T14:52:06Z","modified":"2026-11-05T17:02:37Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-05T18:00:57.218327Z"}],"ghsa":[{"id":"GHSA-6hw7-j4jw-wpff","title":"Galaxy NG: command injection vulnerability","description":"A command injection vulnerability was found in galaxy_ng. The do_git_checkout() function in the legacy role import API (v1) interpolates unsanitized git ref names (branch/tag names) into shell commands executed via subprocess.run() with shell=True. An authenticated user who controls a git repository can create a branch or tag with shell metacharacters in the name to achieve remote code execution on the pulp worker. The vulnerable endpoint is only reachable when GALAXY_ENABLE_LEGACY_ROLES is set to True, which is not the default configuration.","status":"published","published":"2026-06-16T15:33:51Z","modified":"2026-06-19T20:48:07Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-78"],"updated_at":"2026-11-02T14:40:31.656952Z"}],"nvd":[{"id":"CVE-2026-12398","description":"A command injection vulnerability was found in galaxy_ng. The do_git_checkout() function in the legacy role import API (v1) interpolates unsanitized git ref names (branch/tag names) into shell commands executed via subprocess.run() with shell=True. An authenticated user who controls a git repository can create a branch or tag with shell metacharacters in the name to achieve remote code execution on the pulp worker. The vulnerable endpoint is only reachable when GALAXY_ENABLE_LEGACY_ROLES is set to True, which is not the default configuration.","status":"published","published":"2026-06-16T15:16:36.103Z","modified":"2026-10-25T23:10:00.167Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"secondary"}],"cwes":["CWE-78"],"updated_at":"2026-11-02T14:12:24.19758Z"}],"osv":[{"id":"GHSA-6hw7-j4jw-wpff","title":"Galaxy NG: command injection vulnerability","description":"A command injection vulnerability was found in galaxy_ng. The do_git_checkout() function in the legacy role import API (v1) interpolates unsanitized git ref names (branch/tag names) into shell commands executed via subprocess.run() with shell=True. An authenticated user who controls a git repository can create a branch or tag with shell metacharacters in the name to achieve remote code execution on the pulp worker. The vulnerable endpoint is only reachable when GALAXY_ENABLE_LEGACY_ROLES is set to True, which is not the default configuration.","status":"published","published":"2026-06-16T15:33:51Z","modified":"2026-07-13T16:42:52.586766713Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-78"],"updated_at":"2026-11-02T15:46:39.618611Z"},{"id":"PYSEC-2026-2486","title":"Galaxy NG: command injection vulnerability","description":"A command injection vulnerability was found in galaxy_ng. The do_git_checkout() function in the legacy role import API (v1) interpolates unsanitized git ref names (branch/tag names) into shell commands executed via subprocess.run() with shell=True. An authenticated user who controls a git repository can create a branch or tag with shell metacharacters in the name to achieve remote code execution on the pulp worker. The vulnerable endpoint is only reachable when GALAXY_ENABLE_LEGACY_ROLES is set to True, which is not the default configuration.","status":"published","published":"2026-07-13T15:46:17.919996Z","modified":"2026-07-13T16:32:37.446342238Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:52:55.961245Z"}]}}
