{"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-07-29T18:29:59.105671549Z","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","CGA-8r5h-83c2-4rxw","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"],"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":"0"},{"fixed":"d80d9a98f7e3a8f9b3a82d2c6079f84eb1101d46"},{"introduced":"d90b98e65320778f3b1f99a6951ab20f04d218b3"},{"fixed":"c19862e5f8415b4f24b189d065ed739517c548ba"},{"introduced":"eefb454307250192f45fa3718685e4c0a90e281d"},{"last_affected":"eefb454307250192f45fa3718685e4c0a90e281d"}],"database_specific":{"extracted_events":[{"introduced":"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.25.11","go1.25.10","go1.26.3","go1.25.9","go1.26.2","go1.26.1","go1.25.8","go1.25.7","go1.26.0","go1.25.6","go1.25.5","go1.25.4","go1.25.3","go1.25.2","go1.25.1","go1.25.0","go1.25rc3","go1.25rc2","go1.25rc1","go1.19beta1","go1.18beta2","go1.18beta1","go1.17beta1","go1.16beta1","go1.15beta1","go1.14beta1","go1.13beta1","go1.12beta2","go1.12beta1","go1.11beta3","go1.11beta2","go1.11beta1","go1.10rc2","go1.10rc1","go1.10beta2","go1.10beta1","go1.9beta2","go1.9beta1","go1.8beta2","go1.8beta1","go1.7rc4","go1.7rc3","go1.7rc2","go1.7rc1","go1.7beta2","go1.7beta1","go1.6beta2","go1.6beta1","go1.5beta3","go1.5beta2","go1.5beta1","go1.4beta1","go1.3beta2","go1.3beta1","weekly.2012-03-27","weekly","weekly.2012-03-22","weekly.2012-03-13","weekly.2012-03-04","weekly.2012-02-22","weekly.2012-02-14","weekly.2012-02-07","weekly.2012-01-27","weekly.2012-01-20","weekly.2012-01-15","weekly.2011-12-22","weekly.2011-12-14","weekly.2011-12-06","weekly.2011-12-02","weekly.2011-12-01","weekly.2011-11-18","weekly.2011-11-09","weekly.2011-11-08","weekly.2011-11-02","weekly.2011-11-01","weekly.2011-10-26","weekly.2011-10-25","weekly.2011-10-18","weekly.2011-10-06","weekly.2011-09-21","weekly.2011-09-16","weekly.2011-08-17","weekly.2011-09-07","weekly.2011-09-01","weekly.2011-08-10","weekly.2011-07-07","weekly.2011-07-29","weekly.2011-07-19","weekly.2011-06-09","weekly.2011-06-23","weekly.2011-06-16","weekly.2011-06-02","weekly.2011-05-22","weekly.2011-04-27","weekly.2011-04-13","weekly.2011-04-04","weekly.2011-03-28","weekly.2011-03-15","weekly.2011-03-07.1","release.r56","weekly.2011-03-07","weekly.2011-02-24","weekly.2011-02-15","weekly.2011-02-01.1","weekly.2011-02-01","weekly.2011-01-20","weekly.2011-01-19","weekly.2011-01-12","weekly.2011-01-06","weekly.2010-12-22","weekly.2010-12-15.1","weekly.2010-12-15","weekly.2010-12-08","weekly.2010-12-02","weekly.2010-11-23","weekly.2010-11-10","weekly.2010-11-02","weekly.2010-10-27","weekly.2010-10-20","weekly.2010-10-13.1","weekly.2010-10-13","weekly.2010-09-29","weekly.2010-09-22","weekly.2010-09-15","weekly.2010-09-06","weekly.2010-08-25","weekly.2010-08-11","weekly.2010-08-04","weekly.2010-07-29","weekly.2010-07-14","weekly.2010-07-01","weekly.2010-06-21","weekly.2010-06-09","weekly.2010-05-27","weekly.2010-05-04","weekly.2010-04-27","weekly.2010-04-13","weekly.2010-03-30","weekly.2010-03-22","weekly.2010-03-15","weekly.2010-03-04","weekly.2010-02-23","weekly.2010-02-17","weekly.2010-02-04","weekly.2010-01-27","weekly.2010-01-13","weekly.2010-01-05","weekly.2009-12-22","weekly.2009-12-09","weekly.2009-12-07","weekly.2009-11-17","weekly.2009-11-12","weekly.2009-11-10.1","weekly.2009-11-10","weekly.2009-11-06"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-39822.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"}]}