{"id":"DEBIAN-CVE-2025-38475","details":"In the Linux kernel, the following vulnerability has been resolved:  smc: Fix various oops due to inet_sock type confusion.  syzbot reported weird splats [0][1] in cipso_v4_sock_setattr() while freeing inet_sk(sk)-\u003einet_opt.  The address was freed multiple times even though it was read-only memory.  cipso_v4_sock_setattr() did nothing wrong, and the root cause was type confusion.  The cited commit made it possible to create smc_sock as an INET socket.  The issue is that struct smc_sock does not have struct inet_sock as the first member but hijacks AF_INET and AF_INET6 sk_family, which confuses various places.  In this case, inet_sock.inet_opt was actually smc_sock.clcsk_data_ready(), which is an address of a function in the text segment.    $ pahole -C inet_sock vmlinux   struct inet_sock {   ...           struct ip_options_rcu *    inet_opt;             /*   784     8 */    $ pahole -C smc_sock vmlinux   struct smc_sock {   ...           void                       (*clcsk_data_ready)(struct sock *); /*   784     8 */  The same issue for another field was reported before. [2][3]  At that time, an ugly hack was suggested [4], but it makes both INET and SMC code error-prone and hard to change.  Also, yet another variant was fixed by a hacky commit 98d4435efcbf3 (\"net/smc: prevent NULL pointer dereference in txopt_get\").  Instead of papering over the root cause by such hacks, we should not allow non-INET socket to reuse the INET infra.  Let's add inet_sock as the first member of smc_sock.  [0]: kvfree_call_rcu(): Double-freed call. rcu_head 000000006921da73 WARNING: CPU: 0 PID: 6718 at mm/slab_common.c:1956 kvfree_call_rcu+0x94/0x3f0 mm/slab_common.c:1955 Modules linked in: CPU: 0 UID: 0 PID: 6718 Comm: syz.0.17 Tainted: G        W           6.16.0-rc4-syzkaller-g7482bb149b9f #0 PREEMPT Tainted: [W]=WARN Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025 pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : kvfree_call_rcu+0x94/0x3f0 mm/slab_common.c:1955 lr : kvfree_call_rcu+0x94/0x3f0 mm/slab_common.c:1955 sp : ffff8000a03a7730 x29: ffff8000a03a7730 x28: 00000000fffffff5 x27: 1fffe000184823d3 x26: dfff800000000000 x25: ffff0000c2411e9e x24: ffff0000dd88da00 x23: ffff8000891ac9a0 x22: 00000000ffffffea x21: ffff8000891ac9a0 x20: ffff8000891ac9a0 x19: ffff80008afc2480 x18: 00000000ffffffff x17: 0000000000000000 x16: ffff80008ae642c8 x15: ffff700011ede14c x14: 1ffff00011ede14c x13: 0000000000000004 x12: ffffffffffffffff x11: ffff700011ede14c x10: 0000000000ff0100 x9 : 5fa3c1ffaf0ff000 x8 : 5fa3c1ffaf0ff000 x7 : 0000000000000001 x6 : 0000000000000001 x5 : ffff8000a03a7078 x4 : ffff80008f766c20 x3 : ffff80008054d360 x2 : 0000000000000000 x1 : 0000000000000201 x0 : 0000000000000000 Call trace:  kvfree_call_rcu+0x94/0x3f0 mm/slab_common.c:1955 (P)  cipso_v4_sock_setattr+0x2f0/0x3f4 net/ipv4/cipso_ipv4.c:1914  netlbl_sock_setattr+0x240/0x334 net/netlabel/netlabel_kapi.c:1000  smack_netlbl_add+0xa8/0x158 security/smack/smack_lsm.c:2581  smack_inode_setsecurity+0x378/0x430 security/smack/smack_lsm.c:2912  security_inode_setsecurity+0x118/0x3c0 security/security.c:2706  __vfs_setxattr_noperm+0x174/0x5c4 fs/xattr.c:251  __vfs_setxattr_locked+0x1ec/0x218 fs/xattr.c:295  vfs_setxattr+0x158/0x2ac fs/xattr.c:321  do_setxattr fs/xattr.c:636 [inline]  file_setxattr+0x1b8/0x294 fs/xattr.c:646  path_setxattrat+0x2ac/0x320 fs/xattr.c:711  __do_sys_fsetxattr fs/xattr.c:761 [inline]  __se_sys_fsetxattr fs/xattr.c:758 [inline]  __arm64_sys_fsetxattr+0xc0/0xdc fs/xattr.c:758  __invoke_syscall arch/arm64/kernel/syscall.c:35 [inline]  invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:49  el0_svc_common+0x130/0x23c arch/arm64/kernel/syscall.c:132  do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:151  el0_svc+0x58/0x180 arch/arm64/kernel/entry-common.c:879  el0t_64_sync_handler+0x84/0x12c arch/arm64/kernel/entry-common.c:898  el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:600  [ ---truncated---","modified":"2026-08-27T23:05:22.012483741Z","published":"2025-07-28T12:15:29.367Z","upstream":["CVE-2025-38475"],"references":[{"type":"ADVISORY","url":"https://security-tracker.debian.org/tracker/CVE-2025-38475"}],"affected":[{"package":{"name":"linux","ecosystem":"Debian:13","purl":"pkg:deb/debian/linux?arch=source&distro=trixie"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"6.12.41-1"}]}],"versions":["6.12.38-1"],"ecosystem_specific":{"urgency":"not yet assigned"},"database_specific":{"source":"https://storage.googleapis.com/osv-test-debian-osv/debian-cve-osv/DEBIAN-CVE-2025-38475.json"}},{"package":{"name":"linux","ecosystem":"Debian:14","purl":"pkg:deb/debian/linux?arch=source&distro=forky"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"6.16.3-1"}]}],"versions":["6.12.100-1","6.12.101-1","6.12.105-1","6.12.38-1","6.12.41-1","6.12.43-1","6.12.43-1~bpo12+1","6.12.48-1","6.12.57-1","6.12.57-1~bpo12+1","6.12.63-1","6.12.63-1~bpo12+1","6.12.69-1","6.12.69-1~bpo12+1","6.12.73-1","6.12.73-1~bpo12+1","6.12.74-1","6.12.74-2","6.12.74-2~bpo12+1","6.12.85-1","6.12.85-1~bpo12+1","6.12.86-1","6.12.86-1~bpo12+1","6.12.88-1","6.12.88-1~bpo12+1","6.12.90-1","6.12.90-1~bpo12+1","6.12.90-2","6.12.90-2~bpo12+1","6.12.94-1","6.12.94-1~bpo12+1","6.12.95-1","6.12.95-1~bpo12+1","6.12.96-1","6.13.10-1~exp1","6.13.11-1~exp1","6.13.2-1~exp1","6.13.3-1~exp1","6.13.4-1~exp1","6.13.5-1~exp1","6.13.6-1~exp1","6.13.7-1~exp1","6.13.8-1~exp1","6.13.9-1~exp1","6.13~rc6-1~exp1","6.13~rc7-1~exp1","6.14.3-1~exp1","6.14.5-1~exp1","6.14.6-1~exp1","6.15-1~exp1","6.15.1-1~exp1","6.15.2-1~exp1","6.15.3-1~exp1","6.15.4-1~exp1","6.15.5-1~exp1","6.15.6-1~exp1","6.15~rc7-1~exp1","6.16-1~exp1","6.16.1-1~exp1","6.16.3-1~bpo13+1","6.16~rc7-1~exp1"],"ecosystem_specific":{"urgency":"not yet assigned"},"database_specific":{"source":"https://storage.googleapis.com/osv-test-debian-osv/debian-cve-osv/DEBIAN-CVE-2025-38475.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H"}]}