CVE-2022-41720
Published: 7 December 2022
On Windows, restricted files can be accessed via os.DirFS and http.Dir. The os.DirFS function and http.Dir type provide access to a tree of files rooted at a given directory. These functions permit access to Windows device files under that root. For example, os.DirFS("C:/tmp").Open("COM1") opens the COM1 device. Both os.DirFS and http.Dir only provide read-only filesystem access. In addition, on Windows, an os.DirFS for the directory (the root of the current drive) can permit a maliciously crafted path to escape from the drive and access any path on the system. With fix applied, the behavior of os.DirFS("") has changed. Previously, an empty root was treated equivalently to "/", so os.DirFS("").Open("tmp") would open the path "/tmp". This now returns an error.
Notes
Author | Note |
---|---|
mdeslaur | Packages built using golang need to be rebuilt once the vulnerability has been fixed. This CVE entry does not list packages that need rebuilding outside of the main repository or the Ubuntu variants with PPA overlays. |
alexmurray | Only affects golang on Windows |
Priority
Status
Package | Release | Status |
---|---|---|
golang Launchpad, Ubuntu, Debian |
trusty |
Ignored
(end of standard support)
|
upstream |
Needs triage
|
|
xenial |
Ignored
(end of standard support)
|
|
bionic |
Does not exist
|
|
focal |
Does not exist
|
|
jammy |
Does not exist
|
|
kinetic |
Does not exist
|
|
golang-1.13 Launchpad, Ubuntu, Debian |
bionic |
Not vulnerable
(windows only)
|
focal |
Not vulnerable
(windows only)
|
|
jammy |
Not vulnerable
(windows only)
|
|
lunar |
Does not exist
|
|
upstream |
Needs triage
|
|
trusty |
Does not exist
|
|
kinetic |
Not vulnerable
(windows only)
|
|
xenial |
Not vulnerable
(windows only)
|
|
golang-1.14 Launchpad, Ubuntu, Debian |
bionic |
Does not exist
|
jammy |
Does not exist
|
|
kinetic |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Needs triage
|
|
xenial |
Does not exist
|
|
focal |
Not vulnerable
(windows only)
|
|
golang-1.16 Launchpad, Ubuntu, Debian |
jammy |
Does not exist
|
kinetic |
Does not exist
|
|
trusty |
Ignored
(end of standard support)
|
|
upstream |
Needs triage
|
|
xenial |
Ignored
(end of standard support)
|
|
bionic |
Not vulnerable
(windows only)
|
|
focal |
Not vulnerable
(windows only)
|
|
golang-1.17 Launchpad, Ubuntu, Debian |
bionic |
Does not exist
|
focal |
Does not exist
|
|
kinetic |
Does not exist
|
|
trusty |
Ignored
(end of standard support)
|
|
upstream |
Needs triage
|
|
xenial |
Ignored
(end of standard support)
|
|
jammy |
Not vulnerable
(windows only)
|
|
golang-1.18 Launchpad, Ubuntu, Debian |
kinetic |
Does not exist
|
lunar |
Does not exist
|
|
trusty |
Ignored
(end of standard support)
|
|
upstream |
Needs triage
|
|
xenial |
Ignored
(end of standard support)
|
|
bionic |
Not vulnerable
(windows only)
|
|
focal |
Not vulnerable
(windows only)
|
|
jammy |
Not vulnerable
(windows only)
|
|
golang-1.6 Launchpad, Ubuntu, Debian |
bionic |
Does not exist
|
focal |
Does not exist
|
|
jammy |
Does not exist
|
|
kinetic |
Does not exist
|
|
trusty |
Ignored
(end of standard support)
|
|
upstream |
Needs triage
|
|
xenial |
Not vulnerable
(windows only)
|
|
golang-1.8 Launchpad, Ubuntu, Debian |
focal |
Does not exist
|
jammy |
Does not exist
|
|
kinetic |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Needs triage
|
|
xenial |
Does not exist
|
|
bionic |
Not vulnerable
(windows only)
|
|
golang-1.9 Launchpad, Ubuntu, Debian |
focal |
Does not exist
|
jammy |
Does not exist
|
|
kinetic |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Needs triage
|
|
xenial |
Does not exist
|
|
bionic |
Not vulnerable
(windows only)
|
|
golang-1.10 Launchpad, Ubuntu, Debian |
focal |
Does not exist
|
jammy |
Does not exist
|
|
kinetic |
Does not exist
|
|
upstream |
Needs triage
|
|
bionic |
Not vulnerable
(windows only)
|
|
trusty |
Not vulnerable
(windows only)
|
|
xenial |
Not vulnerable
(windows only)
|
Severity score breakdown
Parameter | Value |
---|---|
Base score | 7.5 |
Attack vector | Network |
Attack complexity | Low |
Privileges required | None |
User interaction | None |
Scope | Unchanged |
Confidentiality | High |
Integrity impact | None |
Availability impact | None |
Vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |