Directory Traversal Affecting golang-1.19 package, versions *


Severity

Recommended
low

Based on Debian security rating.

Threat Intelligence

EPSS
0.21% (60th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications

Snyk Learn

Learn about Directory Traversal vulnerabilities in an interactive lesson.

Start learning
  • Snyk IDSNYK-DEBIAN12-GOLANG119-6050313
  • published8 Nov 2023
  • disclosed9 Nov 2023

Introduced: 8 Nov 2023

CVE-2023-45283  (opens in a new tab)
CWE-22  (opens in a new tab)

How to fix?

There is no fixed version for Debian:12 golang-1.19.

NVD Description

Note: Versions mentioned in the description apply only to the upstream golang-1.19 package and not the golang-1.19 package as distributed by Debian. See How to fix? for Debian:12 relevant fixed versions and status.

The filepath package does not recognize paths with a ??\ prefix as special. On Windows, a path beginning with ??\ is a Root Local Device path equivalent to a path beginning with \?. Paths with a ??\ prefix may be used to access arbitrary locations on the system. For example, the path ??\c:\x is equivalent to the more common path c:\x. Before fix, Clean could convert a rooted path such as \a..??\b into the root local device path ??\b. Clean will now convert this to .??\b. Similarly, Join(, ??, b) could convert a seemingly innocent sequence of path elements into the root local device path ??\b. Join will now convert this to .??\b. In addition, with fix, IsAbs now correctly reports paths beginning with ??\ as absolute, and VolumeName correctly reports the ??\ prefix as a volume name. UPDATE: Go 1.20.11 and Go 1.21.4 inadvertently changed the definition of the volume name in Windows paths starting with ?, resulting in filepath.Clean(?\c:) returning ?\c: rather than ?\c:\ (among other effects). The previous behavior has been restored.

CVSS Scores

version 3.1