GO-2026-6604 BIT-golang-2026-56857 CVE-2026-56857
Root.Mkdir(All) can follow junctions out of the root on Windows in os
- Severity
- 9.8 / 10
- Critical · CVSS 3.1
- Exploit chance (EPSS)
- 0.55%
- Chance of exploitation in the next 30 days. Higher than 46.23% of scored vulnerabilities.
- Known exploited
- No
- Not in CISA's catalog
- Weakness
- CWE-1386 Insecure Operation on Windows Junction / Mount Point
- Fix
1.27.2- Upgrade stdlib to this version or later
Description
On Windows, when the target of Root.Mkdir or Root.MkdirAll is a junction pointing to an empty location, the operation can create a directory at the junction target even when that target is located outside the root. This only applies to operations where the last path component is a junction (path/to/junction, but not path/junction/target).
Affected versions
Go
| Package | Vulnerable | Fixed in |
|---|---|---|
| stdlib | < 1.26.9>= 1.27.0-0, < 1.27.2 |
1.26.91.27.2 |
How to fix
Move to the fixed version or later with your package manager, update the lockfile, and run your tests. If the package only arrives through another dependency, upgrade that dependency first. If none of its releases pulls a fixed version yet, force the version with your package manager's override.
stdlib Go → 1.27.2
- go
go get stdlib@v1.27.2 && go mod tidy
Severity breakdown
CVSS 3.1 9.8
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Attack vector
- Network
- Attack complexity
- Low
- Privileges required
- None
- User interaction
- None
- Scope
- Unchanged
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Weakness
CWE-1386: Insecure Operation on Windows Junction / Mount Point
The product opens a file or directory, but it does not properly prevent the name from being associated with a junction or mount point to a destination that is outside of the intended control sphere.
How to prevent it
- Architecture and Design: When designing software that will have different rights than the executer, the software should check that files that it is interacting with are not improper hard links or mount points. One way to do this in Windows is to use the functionality embedded in the following command: "dir /al /s /b" or, in PowerShell, use LinkType as a filter. In addition, some software uses authentication via signing to ensure that the file is the correct one to use. Make checks atomic with the file action, otherwise a TOCTOU weakness (CWE-367) can be introduced.
References
Fixes and patches
Issue reports
Other links
Timeline
- Published
- Last updated by the source
- Latest EPSS score
Related advisories
| Advisory | Severity | Why it's related |
|---|---|---|
| GHSA-4374-p667-p6c8 HTTP/2 rapid reset can cause excessive work in net/http | High Known exploited | Also affects stdlib |
| CVE-2020-0601 Certificate validation bypass on Windows in crypto/x509 | High Known exploited | Also affects stdlib |
| RUSTSEC-2026-0382 Distrust compromised intermediate certificates in crypto/x509 | Medium | Also affects stdlib |
| GO-2026-6613 HTTP/1 server connection desynchronization after 2xx CONNECT response in net/http | High | Also affects stdlib |
| GO-2026-6609 Lack of limit on size of parsed Range headers in net/http | High | Also affects stdlib |
| GO-2026-6608 Memory limit bypass when parsing MIME headers in net/textproto, mime/multipart | High | Also affects stdlib |
| GO-2026-6607 Reject malformed ECH outer extension references in crypto/tls | High | Also affects stdlib |
| GO-2026-6600 Recognize yield as regexp preceder keyword in html/template | Medium | Also affects stdlib |
Credits: Daniele Ballarini
MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.
Check your repos with MergeHarbor