Description
In the Linux kernel, the following vulnerability has been resolved: net: rose: include node references in rose_neigh refcount Current implementation maintains two separate reference counting mechanisms: the 'count' field in struct rose_neigh tracks references from rose_node structures, while the 'use' field (now refcount_t) tracks references from rose_sock. This patch merges these two reference counting systems using 'use' field for proper reference management. Specifically, this patch adds incrementing and decrementing of rose_neigh->use when rose_neigh->count is incremented or decremented. This patch also modifies rose_rt_free(), rose_rt_device_down() and rose_clear_route() to properly release references to rose_neigh objects before freeing a rose_node through rose_remove_node(). These changes ensure rose_neigh structures are properly freed only when all references, including those from rose_node structures, are released. As a result, this resolves a slab-use-after-free issue reported by Syzbot.
Product status
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before 4cce478c3e82a5fc788d72adb2f4c4e983997639
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before 9c547c8eee9d1cf6e744611d688b9f725cf9a115
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before d7563b456ed44151e1a82091d96f60166daea89b
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before 384210cceb1873a4c8218b27ba0745444436b728
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before da9c9c877597170b929a6121a68dcd3dd9a80f45
2.6.12
Any version before 2.6.12
6.1.150 (semver)
6.6.104 (semver)
6.12.45 (semver)
6.16.5 (semver)
6.17 (original_commit_for_fix)
References
git.kernel.org/...c/4cce478c3e82a5fc788d72adb2f4c4e983997639
git.kernel.org/...c/9c547c8eee9d1cf6e744611d688b9f725cf9a115
git.kernel.org/...c/d7563b456ed44151e1a82091d96f60166daea89b
git.kernel.org/...c/384210cceb1873a4c8218b27ba0745444436b728
git.kernel.org/...c/da9c9c877597170b929a6121a68dcd3dd9a80f45