{"id":"CVE-2026-97985","revision":"431edfe2dda74d71a70307c35e1d687a","records":[{"revision":"431edfe2dda74d71a70307c35e1d687a","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-97985","aliases":[],"title":"af_unix: Update last skb marker in manage_oob().","description":"In the Linux kernel, the following vulnerability has been resolved:\n\naf_unix: Update last skb marker in manage_oob().\n\nFahad Alharbi reported that blocking recv(MSG_PEEK) could hog CPU\ndue to OOB skb.\n\nIn the following cases, manage_oob() skips OOB skb(s) and returns\nNULL for the last recv(MSG_PEEK):\n\n  socketpair(AF_UNIX, SOCK_STREAM, 0, sk);\n\n  1) skb -> OOB skb -> NULL\n     send(sk[0], \"ab\", 2, MSG_OOB);\n     recv(sk[1], buf, 0, MSG_PEEK);\n\n  2) skb -> consumed OOB skb -> NULL\n     send(sk[0], \"ab\", 2, MSG_OOB);\n     recv(sk[1], buf, 1, MSG_OOB);\n     recv(sk[1], buf, 0, MSG_PEEK);\n\n  3) consumed OOB skb -> OOB skb -> NULL\n     send(sk[0], \"a\", 1, MSG_OOB);\n     recv(sk[1], buf, 0, MSG_OOB);\n     send(sk[0], \"b\", 1, MSG_OOB);\n     recv(sk[1], buf, 1, MSG_PEEK);\n\nThen, @copied is 0 in unix_stream_read_generic() (zero-length buffer,\nor non-OOB skb is not yet consumed), and unix_stream_data_wait() is\ncalled.\n\nHowever, it returns immediately because @last is not updated in\nunix_stream_read_generic(), and the thread busy-waits for a new skb.\n\nLet's update @last in manage_oob().\n\nFor MSG_PEEK, @last is updated with the skipped OOB, and for the\nnon-peek case, @last matches the returned value (when !copied)\nbecause OOB is unlinked.\n\nNote that manage_oob() is inlined and no stack canary is added.","state":0,"publishedAt":"2026-09-25T10:23:20.173+00:00","modifiedAt":"2026-10-21T12:53:57.548+00:00","affected":[{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"net/unix/af_unix.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"022d81a709cd553bbe2db8675f8e824f4aee6284\",\n                            \"lessThan\": \"bd91dc313afe21e9d6b31ca6a47606a33ca5e35c\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"22dd70eb2c3d754862964377a75abafd3167346b\",\n                            \"lessThan\": \"0630bfc773d85ac44da05b2c5a037dbbd39301ab\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"22dd70eb2c3d754862964377a75abafd3167346b\",\n                            \"lessThan\": \"f1816b3d7ce80dcf086bb68ff5ae6e09520ca1fa\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"22dd70eb2c3d754862964377a75abafd3167346b\",\n                            \"lessThan\": \"fc62a26493a98a0424d9dae2eb92a1daa1321f65\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"22dd70eb2c3d754862964377a75abafd3167346b\",\n                            \"lessThan\": \"94fd4debd2e3a69cf93e766c8b328a810c228119\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"ae3f9e1221b31b18dbd4c4b85d08574996bbd973\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"ba0db4638525b8b054b3d546b45f7e473f477027\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"16dc252e7007547a7b72a2c21022ef81fb45e6a3\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"6.6.29\",\n                            \"lessThan\": \"6.6.160\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.15.157\",\n                            \"lessThan\": \"5.16\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.1.88\",\n                            \"lessThan\": \"6.2\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.8.8\",\n                            \"lessThan\": \"6.9\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"semver\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"affected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"net/unix/af_unix.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"6.9\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"6.9\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.6.160\",\n                            \"lessThanOrEqual\": \"6.6.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.12.111\",\n                            \"lessThanOrEqual\": \"6.12.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.18.53\",\n                            \"lessThanOrEqual\": \"6.18.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.2.7\",\n                            \"lessThanOrEqual\": \"7.2.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.3\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[],"references":["https://git.kernel.org/stable/c/bd91dc313afe21e9d6b31ca6a47606a33ca5e35c","https://git.kernel.org/stable/c/0630bfc773d85ac44da05b2c5a037dbbd39301ab","https://git.kernel.org/stable/c/f1816b3d7ce80dcf086bb68ff5ae6e09520ca1fa","https://git.kernel.org/stable/c/fc62a26493a98a0424d9dae2eb92a1daa1321f65","https://git.kernel.org/stable/c/94fd4debd2e3a69cf93e766c8b328a810c228119"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-97985","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-97985","identifiers":["CVE-2026-97985"]},"retained":false,"historicalAffected":[]}],"coverage":[]}