| Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
| Name: attr | Distribution: openSUSE Tumbleweed |
| Version: 2.6.0 | Vendor: openSUSE |
| Release: 1.2 | Build date: Mon Jun 29 23:52:00 2026 |
| Group: System/Filesystems | Build host: reproducible |
| Size: 184725 | Source RPM: attr-2.6.0-1.2.src.rpm |
| Packager: http://bugs.opensuse.org | |
| Url: https://savannah.nongnu.org/projects/attr/ | |
| Summary: Commands for Manipulating Extended Attributes | |
A set of tools for manipulating extended attributes on file system objects, in particular getfattr(1) and setfattr(1). An attr(1) command is also provided, which is largely compatible with the SGI IRIX tool of the same name.
GPL-2.0-or-later AND LGPL-2.1-or-later
* Mon Jun 29 2026 Goldwyn Rodrigues <rgoldwyn@suse.com>
- Update to 2.6.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.
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.
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.
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.
* Tue Feb 13 2024 Andreas Stieger <andreas.stieger@gmx.de>
- update to 2.5.2:
* attr: eliminate a dead store in attr_copy_action()
* libattr: Set symbol versions for legacy syscalls via attribute
or asm
* exports: use LGPL for library code
* documentation updates
* translation updates (Polish, Dutch, Gregorian, French)
* build system updates
* Mon Mar 22 2021 Dirk Müller <dmueller@suse.com>
- update to 2.5.1:
* Fix libtool library versioning regression
* Update po files and German translation
* getfattr: Add --one-file-system option
* Move struct stat into struct walk_tree_args
* Move list of open directories into struct walk_tree_args
* Move walk_tree_rec arguments into a separate struct
* xattr.conf: Indicate afs metadata xattrs should be skipped when copying
* Fix typos in manual pages
* getfattr.1: by default only user namespace attributes are dumped
* Enable large-file support on systems that do not enable it by default
* test: escape left brace in a regex in test/run
- drop 0001-attr-2.4.48-test-suite-perl.patch (upstream)
* Fri Aug 02 2019 Martin Liška <mliska@suse.cz>
- Use FAT LTO objects in order to provide proper static library.
* Tue Sep 11 2018 dmueller@suse.com
- update description for libattr-devel-static to make it less
boilerplate
* Wed Sep 05 2018 schwab@suse.de
- Add libattr-devel-static subpackage
* Sat Aug 25 2018 jengelh@inai.de
- Replace unspecific boilerplate summary from years ago.
* Mon Aug 13 2018 tchvatal@suse.com
- Remove obsolete Obsolete lines
- Drop static subpackage, nothing in TW depends on it Deb/RH do not
provide it either
- Rely on simple upstream make install target
- Run tests
- Update to 2.4.48:
* Provide default xattr.conf
* Update buildsystem to reflect current autotools state
* Small test updates
* Remove various deprecated sections like attr/attr.h
- Update keyring, Mike Frysinger released this version
- Add patch to have tests working with newer perls:
* 0001-attr-2.4.48-test-suite-perl.patch
* Tue Mar 20 2018 kukuk@suse.de
- Use %license instead of %doc [bsc#1082318]
* Mon May 11 2015 pgajdos@suse.com
- remove man5/attr.5, it is now part of man-pages
http://lwn.net/Articles/643559/
/usr/bin/attr /usr/bin/getfattr /usr/bin/setfattr /usr/share/doc/packages/attr /usr/share/doc/packages/attr/CHANGES /usr/share/licenses/attr /usr/share/licenses/attr/COPYING /usr/share/licenses/attr/COPYING.LGPL /usr/share/locale/cs/LC_MESSAGES/attr.mo /usr/share/locale/de/LC_MESSAGES/attr.mo /usr/share/locale/en@boldquot/LC_MESSAGES/attr.mo /usr/share/locale/en@quot/LC_MESSAGES/attr.mo /usr/share/locale/es/LC_MESSAGES/attr.mo /usr/share/locale/fr/LC_MESSAGES/attr.mo /usr/share/locale/gl/LC_MESSAGES/attr.mo /usr/share/locale/ka/LC_MESSAGES/attr.mo /usr/share/locale/nl/LC_MESSAGES/attr.mo /usr/share/locale/pl/LC_MESSAGES/attr.mo /usr/share/locale/sv/LC_MESSAGES/attr.mo /usr/share/man/man1/attr.1.gz /usr/share/man/man1/getfattr.1.gz /usr/share/man/man1/setfattr.1.gz
Generated by rpm2html 1.8.1
Fabrice Bellet, Sun Aug 2 02:32:54 2026