Hugo symlink confinement bypass in os.ReadFile
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| gohugoio | hugo | affected |
|
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Gohugo | Hugo |
|
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.475% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Gohugo
Gohugo hugo |
|
| Vendors & Products |
Gohugo
Gohugo hugo |
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| Description | Hugo is a static site generator. From v0.123.0 through v0.163.0, Hugo's virtual filesystem is designed so that files under a mount cannot reach outside the mount tree, but a regression caused RootMappingFs.statRoot to call Stat, which follows symlinks, instead of Lstat, so a direct os.ReadFile "somefile" where somefile was a symlink pointing outside the mount would return the target's contents. This effectively let a symlink planted inside a theme or local mount read arbitrary files reachable to the user running hugo. This issue is fixed in v0.163.1. | |
| Title | Hugo symlink confinement bypass in os.ReadFile | |
| Weaknesses | CWE-59 | |
| References |
| |
| Metrics |
cvssV4_0
|