Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package acl for openSUSE:Factory checked in at 2026-07-20 09:56:40 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/acl (Old) and /work/SRC/openSUSE:Factory/.acl.new.24530 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "acl" Mon Jul 20 09:56:40 2026 rev:54 rq:1363513 version:2.4.0 Changes: -------- --- /work/SRC/openSUSE:Factory/acl/acl.changes 2024-05-06 17:52:20.693097683 +0200 +++ /work/SRC/openSUSE:Factory/.acl.new.24530/acl.changes 2026-07-20 09:56:42.898830069 +0200 @@ -1,0 +2,106 @@ +Mon Jun 29 21:40:55 UTC 2026 - Goldwyn Rodrigues <[email protected]> + +- Update to version 2.4.0: + Major Issues Fixed: + + - The libacl library functions acl_get_file(), acl_set_file(), + acl_extended_file(), and acl_delete_def_file() take a pathname argument + and follow symbolic links. When a privileged user calls one of those + functions, an attacker that controls a pathname component can replace a + file or directory with a symbolic link and redirect the operation to a + different file. This can lead to local privilege escalation. + (CVE-2026-54369, bsc#1268867) + + The library functions cannot be fixed without breaking compatibility; the + described behaviour is by design. + + Instead, version 2.4.0 of the acl package introduces the additional + functions acl_get_file_at(), acl_set_file_at(), acl_extended_file_at(), and + acl_delete_def_file_at(). These functions each take a dirfd file + descriptor argument and an at_flags argument and accept the + AT_SYMLINK_NOFOLLOW and AT_EMPTY_PATH flags. Use these functions to + control when to follow symbolic links. (CVE-2026-54370, bsc#1268867) + + In addition, the libacl functions acl_get_fd(), acl_set_fd(), and + acl_extended_fd() functions always operate on the access ACL; the library + previously did not offer a way to operate on the default ACL of a directory + file descriptor. The new functions remove that restriction. + + It will be up to each individual program to start using these new library + functions where appropriate. + + - When walking directory trees, the getfacl, setfacl, chacl, and getfattr + utilities constructed the full pathname of each file in the tree and use that + pathname to access the file. When a privileged user used those utilities, + an attacker that controlled a pathname component could replace a directory with + a symbolic link and redirect the operation to a different file, leading to + a local privilege escalation. (CVE-2026-54371, bsc#1268867) + + This is fixed by using directory file descriptors and operating relative to + those directory file descriptors. + + - When resolving the final pathname component, the getfacl, setfacl, chacl, + getfattr, and setfattr utilities in some cases used functions that resolve + symbolic links. This includes the above mentioned libacl functions, but + also stat(), chmod(), and chown(). + + This is fixed by using symlink-safe functions throughout the code. + + - When restoring a backup, the setfacl and setfattr utilities read the full + pathnames of files from the backup. When those pathnames were resolved, + pathname components that are symbolic links were traversed. An attacker + that controlled a pathname component could replace it with a symbolic link, + causing a privileged user to operate on a file other than the one intended. + This could lead to the same kind of local privilege escalation as discussed + before. + + This is fixed by using openat2(RESOLVE_NO_SYMLINKS) to resolve the + directory components of a pathname, but see Compatibility Notes below for + the details. + + +Minor Issues Fixed: + + - When a symbolic link was specified on the command line but symbolic link + traversal was disabled using option -P (--physical), the getfacl and + setfacl utilities previously silently ignored the symlink. Now, an ELOOP + ("Too many levels of symbolic links") error will result instead. + + - acl_delete_entry() now verifies that the specified entry belongs to the + specified acl. + + - Numeric uids and gids that cannot be represented in types uid_t and gid_t + are checked more carefully and invalid numbers are rejected. + + - Functions acl_get_file(), acl_get_file_at(), and acl_get_fd() will retry + several times when the size of an ACL grows unexpectedly; previously, they + only grew the allocated buffer once before giving up. + + - When passed a directory file descriptor, function perm_copy_fd() didn't + copy the default ACL from one directory to the other. It now does. + + - setfacl --restore accidentally ignored leading whitespace in filenames. It + no longer does. + + - setfacl --restore accidentally called chmod() when in --test mode. It no + longer does. + + - When the setfattr --restore option was used multiple times, a buffer was + accessed after being freed. This no longer happens. + + - When the setfattr -h (--no-dereference) option was given after --restore, + it was ignored. Now, the options can be passed in any order. + + - The -h (--no-dereference) option of getfattr prevented getfattr from + recursing into "symbolic link directories". This is wrong. When dirlink + is a symbolic link that refers to a directory, "getfattr -Rh dirlink" will now + visit that directory. The -P (--physical) option can be used to prevent + that. + + - Similarly, when a symbolic link referring to a directory was specified on + the getfacl or setfacl command line, the -R option did not cause that + directory to be visited. This has been fixed so that those directories + will now be visited. The -P (--physical) option can be used to prevent + that. + +------------------------------------------------------------------- Old: ---- acl-2.3.2.tar.xz acl-2.3.2.tar.xz.sig New: ---- acl-2.4.0.tar.xz acl-2.4.0.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ acl.spec ++++++ --- /var/tmp/diff_new_pack.IMGjdq/_old 2026-07-20 09:56:44.418881218 +0200 +++ /var/tmp/diff_new_pack.IMGjdq/_new 2026-07-20 09:56:44.422881353 +0200 @@ -1,7 +1,7 @@ # # spec file for package acl # -# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -24,7 +24,7 @@ Summary: Commands for Manipulating POSIX Access Control Lists License: GPL-2.0-or-later AND LGPL-2.1-or-later Group: System/Filesystems -Version: 2.3.2 +Version: 2.4.0 Release: 0 URL: https://savannah.nongnu.org/projects/acl #Git-Web: http://git.savannah.gnu.org/cgit/acl.git/ ++++++ acl-2.3.2.tar.xz -> acl-2.4.0.tar.xz ++++++ ++++ 27521 lines of diff (skipped)
