[CLSA-2026:1791892215] Fix CVE(s): CVE-2026-54370
Type:
security
Severity:
Important
Release date:
2026-10-13 11:50:26 UTC
Description:
* SECURITY UPDATE: TOCTOU symlink traversal in getfacl, setfacl and chacl - debian/patches/CVE-2026-54370.patch: walk trees through directory file descriptors and act on the final pathname component with symlink-safe calls in tools/getfacl.c, tools/setfacl.c, tools/do_set.c and tools/chacl.c - the *at() ACL operations the hardened tools need are private helpers in tools/acl_at.c, so libacl's public ABI and installed headers are unchanged - setfacl --restore is symlink-safe only when invoked with -P: without it the backup's pathnames are still resolved by name, so stat, chown, chmod and the ACL write still follow symlinks; upstream's warning about that is built out with --disable-unsafe-restore-warnings, so --restore output is unchanged for scripts that parse stderr - getfacl -P and setfacl -P now fail with ELOOP on a symlink argument instead of silently ignoring it - in the recursive default mode a toplevel symlink-to-directory argument is now descended into, where 2.2.53 applied to the toplevel entry only; 'setfacl -R ' therefore writes to the whole subtree (upstream 2.4.0 walk_tree semantics) - chacl on a symlink given on the command line now fails with "Operation not supported" instead of acting on the symlink's target - getfacl no longer strips a leading './' from pathnames, so 'getfacl -R ./dir' prints '# file: ./dir' for the toplevel entry - the symlink-safe paths need /proc mounted: without it getfacl and setfacl warn and then fail with EACCES ("Permission denied"), instead of falling back to the ACL derived from the file mode, which would drop every named entry and still exit successfully - debian/rules: configure with --disable-unsafe-restore-warnings, and skip test/root/permissions.test and test/root/setfacl.test on build hosts whose build tree is not reachable by unprivileged users, where they fail regardless of this patch - CVE-2026-54370
CVEs fixed:
Updated packages:
  • acl_2.2.53-10+tuxcare.els1_amd64.deb
    sha:154cbb7e9e96539b319a3cfb316fb04d49eb2976
  • libacl1_2.2.53-10+tuxcare.els1_amd64.deb
    sha:844cbe938ed2c8216d99b1b30832b1644f84879d
  • libacl1-dev_2.2.53-10+tuxcare.els1_amd64.deb
    sha:6821c3a19a0cead2df703c63fceaaa128c11b35a
  • acl_2.2.53-10+tuxcare.els1_arm64.deb
    sha:7b35aa9e5e455f263270605a93d92d9e6bdc3aa8
  • libacl1_2.2.53-10+tuxcare.els1_arm64.deb
    sha:4a0c1420fb5b6da7d7e1083bf292e2c001851b84
  • libacl1-dev_2.2.53-10+tuxcare.els1_arm64.deb
    sha:ec24fd8412bd816f8a65b90cd6c480f4f63105ed
  • acl_2.2.53-10+tuxcare.els1_armel.deb
    sha:0cb0de9678eae352a1c2a1fa28b1235183fb6f5a
  • libacl1_2.2.53-10+tuxcare.els1_armel.deb
    sha:f444eabca461171cff88df0ba1174c22497f780a
  • libacl1-dev_2.2.53-10+tuxcare.els1_armel.deb
    sha:41f878910764e8283a632f02c502f7ff9e056e37
Notes:
This page is generated automatically and has not been checked for errors. For clarification or corrections please contact the CloudLinux Packaging Team.