milos-linux/fs/udf
Michael Bommarito 55d41b0a20 udf: reject descriptors with oversized CRC length
udf_read_tagged() skips CRC verification when descCRCLength +
sizeof(struct tag) exceeds the block size.  A crafted UDF image can
set descCRCLength to an oversized value to bypass CRC validation
entirely; the descriptor is then accepted based solely on the 8-bit
tag checksum, which is trivially recomputable.

Reject such descriptors instead of silently accepting them.  A
legitimate single-block descriptor should never have a CRC length that
exceeds the block.

Fixes: 1da177e4c3 ("Linux-2.6.12-rc2")
Cc: stable@vger.kernel.org
Assisted-by: Claude:claude-opus-4-6
Assisted-by: Codex:gpt-5-4
Signed-off-by: Michael Bommarito <michael.bommarito@gmail.com>
Link: https://patch.msgid.link/20260413211240.853662-1-michael.bommarito@gmail.com
Signed-off-by: Jan Kara <jack@suse.cz>
2026-04-22 17:14:48 +02:00
..
balloc.c udf: refactor udf_next_aext() to handle error 2024-10-02 14:10:50 +02:00
dir.c udf: Track metadata bhs in fs-private inode part 2026-03-26 15:03:32 +01:00
directory.c vfs-7.1-rc1.bh.metadata 2026-04-13 12:46:42 -07:00
ecma_167.h
file.c vfs-7.1-rc1.bh.metadata 2026-04-13 12:46:42 -07:00
ialloc.c
inode.c \n 2026-04-15 19:22:16 -07:00
Kconfig
lowlevel.c
Makefile
misc.c udf: reject descriptors with oversized CRC length 2026-04-22 17:14:48 +02:00
namei.c vfs-7.1-rc1.bh.metadata 2026-04-13 12:46:42 -07:00
osta_udf.h
partition.c udf: refactor inode_bmap() to handle error 2024-10-02 14:32:29 +02:00
super.c \n 2026-04-15 19:22:16 -07:00
symlink.c
truncate.c udf: Track metadata bhs in fs-private inode part 2026-03-26 15:03:32 +01:00
udf_i.h udf: Track metadata bhs in fs-private inode part 2026-03-26 15:03:32 +01:00
udf_sb.h uapi: promote EFSCORRUPTED and EUCLEAN to errno.h 2026-01-13 09:58:01 +01:00
udfdecl.h udf: Track metadata bhs in fs-private inode part 2026-03-26 15:03:32 +01:00
udfend.h
udftime.c
unicode.c kernel.h: drop hex.h and update all hex.h users 2026-01-20 19:44:19 -08:00