mbox series

[GIT,PULL,11/23] xfs_scrub: detect deceptive filename extensions

Message ID 172230458858.1455085.1385987165268927699.stg-ugh@frogsfrogsfrogs (mailing list archive)
State Accepted, archived
Headers show
Series [GIT,PULL,01/23] libxfs: fixes for 6.9 | expand

Pull-request

https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfsprogs-dev.git tags/scrub-detect-deceptive-extensions-6.10_2024-07-29

Message

Darrick J. Wong July 30, 2024, 2:43 a.m. UTC
Hi Carlos,

Please pull this branch with changes for xfsprogs for 6.10-rc1.

As usual, I did a test-merge with the main upstream branch as of a few
minutes ago, and didn't see any conflicts.  Please let me know if you
encounter any problems.

The following changes since commit 474ff27d466c053f1cd51024e6b0c5a741a2d4bd:

xfs_scrub: try to repair space metadata before file metadata (2024-07-29 17:01:08 -0700)

are available in the Git repository at:

https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfsprogs-dev.git tags/scrub-detect-deceptive-extensions-6.10_2024-07-29

for you to fetch changes up to 746ee95b71649b4ae515893ffa3bbe7b5e815d0d:

xfs_scrub: dump unicode points (2024-07-29 17:01:09 -0700)

----------------------------------------------------------------
xfs_scrub: detect deceptive filename extensions [v30.9 11/28]

In early 2023, malware researchers disclosed a phishing attack that was
targeted at people running Linux workstations.  The attack vector
involved the use of filenames containing what looked like a file
extension but instead contained a lookalike for the full stop (".")
and a common extension ("pdf").  Enhance xfs_scrub phase 5 to detect
these types of attacks and warn the system administrator.

This has been running on the djcloud for months with no problems.  Enjoy!

Signed-off-by: Darrick J. Wong <djwong@kernel.org>

----------------------------------------------------------------
Darrick J. Wong (13):
xfs_scrub: use proper UChar string iterators
xfs_scrub: hoist code that removes ignorable characters
xfs_scrub: add a couple of omitted invisible code points
xfs_scrub: avoid potential UAF after freeing a duplicate name entry
xfs_scrub: guard against libicu returning negative buffer lengths
xfs_scrub: hoist non-rendering character predicate
xfs_scrub: store bad flags with the name entry
xfs_scrub: rename UNICRASH_ZERO_WIDTH to UNICRASH_INVISIBLE
xfs_scrub: type-coerce the UNICRASH_* flags
xfs_scrub: reduce size of struct name_entry
xfs_scrub: rename struct unicrash.normalizer
xfs_scrub: report deceptive file extensions
xfs_scrub: dump unicode points

scrub/unicrash.c | 532 ++++++++++++++++++++++++++++++++++++++++++++-----------
1 file changed, 426 insertions(+), 106 deletions(-)