GitHub Advisoryadvisory · Go

GHSA-rhq6-9rgh-v45c Pterodactyl Wings: Chmod operation can be used to change permissions of files outside of the server container

MEDIUM Published 2026-06-26 Modified 2026-06-26 Official page ↗
Ecosystem
Go
Packages
github.com/pterodactyl/wings
Severity
Moderate
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:L/A:N
Reviewed
2026-06-26

Affected packages

• Go github.com/pterodactyl/wings: >= 1.11.9, < 1.12.2 → fixed in 1.12.2

Description

In `wings/internal/ufs/fs_unix.go` (line 92-94), this function is defined and is used to change permissions of files in the server: ```go func (fs *UnixFS) fchmodat(op string, dirfd int, name string, mode FileMode) error { return ensurePathError(unix.Fchmodat(dirfd, name, uint32(mode), 0), op, name) } ``` This call to the unix function `fchmodat(int fd, char* name, mode_t mode, int flags)` does not have the flag `AT_SYMLINK_NOFOLLOW` set, and Wings neither checks or validate if the target file is a symlink. This allows one to change permissions of files or folders outside of the server container by making symlinks to existing files in the host and then chmoding it.

References