SGID programs executed in a container can access files that have negative group permissions for the user's primary group.
Consider a file which is owned by user u1 and group g1, permits user and other read access, and does NOT permit group read access. This file is readable by u1 and all other users except for ones in group g1.
A program with the set-group-ID (SGID) bit set assumes the primary group of the program's group when it executes.
A user with the primary group g1 who executes an SGID program owned by group g2 should not be able to access the file described above. While the program executes with the primary group g2, the group g1 should remain in its supplementary groups, blocking access to the file.
Buildah does not correctly add g1 to the supplementary groups in this scenario, permitting unauthorized access.
{ "review_status": "REVIEWED", "url": "https://pkg.go.dev/vuln/GO-2022-1008" }