{"id":"CVE-2026-39822","summary":"Root escape via symlink plus trailing slash in os","details":"On Unix systems, opening a file in an os.Root improperly follows symlinks to locations outside of the Root when the final path component of the a path is a symbolic link and the path ends in /. For example, 'root.Open(\"symlink/\")' will open \"symlink\" even when \"symlink\" is a symbolic link pointing outside of the root.","aliases":["BIT-golang-2026-39822","GO-2026-4970"],"modified":"2026-09-19T03:45:32.405285574Z","published":"2026-07-08T15:46:27.199Z","related":["ALSA-2026:37435","ALSA-2026:37436","ALSA-2026:38493","ALSA-2026:38494","ALSA-2026:38495","ALSA-2026:38878","ALSA-2026:38995","SUSE-SU-2026:22638-1","SUSE-SU-2026:22641-1","SUSE-SU-2026:22643-1","SUSE-SU-2026:22656-1","SUSE-SU-2026:2817-1","SUSE-SU-2026:2818-1","SUSE-SU-2026:3046-1","SUSE-SU-2026:3047-1","SUSE-SU-2026:3102-1","SUSE-SU-2026:3151-1","openSUSE-SU-2026:11212-1","openSUSE-SU-2026:11232-1","openSUSE-SU-2026:11393-1","openSUSE-SU-2026:21319-1","openSUSE-SU-2026:21321-1","openSUSE-SU-2026:21324-1","openSUSE-SU-2026:21341-1","openSUSE-SU-2026:21483-1"],"database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/39xxx/CVE-2026-39822.json","unresolved_ranges":[{"extracted_events":[{"fixed":"1.25.12"},{"introduced":"1.26.0-0"},{"fixed":"1.26.5"},{"introduced":"1.27.0-0"},{"fixed":"1.27.0-rc.2"}],"source":"AFFECTED_FIELD"}],"cna_assigner":"Go"},"references":[{"type":"WEB","url":"https://go.dev/cl/797880"},{"type":"WEB","url":"https://go.dev/issue/79005"},{"type":"WEB","url":"https://groups.google.com/g/golang-announce/c/OrmQE_Yp5Sc"},{"type":"WEB","url":"https://pkg.go.dev"},{"type":"WEB","url":"https://pkg.go.dev/vuln/GO-2026-4970"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/39xxx/CVE-2026-39822.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-39822"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/golang/go","events":[{"introduced":"3901409b5d0fb7c85a3e6730a59943cc93b2835c"},{"fixed":"d80d9a98f7e3a8f9b3a82d2c6079f84eb1101d46"},{"introduced":"d90b98e65320778f3b1f99a6951ab20f04d218b3"},{"fixed":"c19862e5f8415b4f24b189d065ed739517c548ba"},{"introduced":"eefb454307250192f45fa3718685e4c0a90e281d"},{"last_affected":"eefb454307250192f45fa3718685e4c0a90e281d"}],"database_specific":{"extracted_events":[{"introduced":"1.24.0"},{"fixed":"1.25.12"},{"introduced":"1.26.0"},{"fixed":"1.26.5"},{"introduced":"1.27-rc1"},{"last_affected":"1.27-rc1"}],"source":["CPE_RANGE","CPE_STRING"],"cpe":["cpe:2.3:a:golang:go:*:*:*:*:*:*:*:*","cpe:2.3:a:golang:go:1.27:rc1:*:*:*:*:*:*"]}}],"versions":["1.27-rc1","go1.27rc1","go1.26.4","go1.26.3","go1.26.2","go1.26.1","go1.26.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-39822.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"}]}