{"id":"CVE-2024-35815","revision":"d1a6c729a3954de5877a963c8fcd12d0","records":[{"revision":"d1a6c729a3954de5877a963c8fcd12d0","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2024-35815","aliases":[],"title":"fs/aio: Check IOCB_AIO_RW before the struct aio_kiocb conversion","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nfs/aio: Check IOCB_AIO_RW before the struct aio_kiocb conversion\n\nThe first kiocb_set_cancel_fn() argument may point at a struct kiocb\nthat is not embedded inside struct aio_kiocb. With the current code,\ndepending on the compiler, the req->ki_ctx read happens either before\nthe IOCB_AIO_RW test or after that test. Move the req->ki_ctx read such\nthat it is guaranteed that the IOCB_AIO_RW test happens first.","state":0,"publishedAt":"2024-05-17T13:23:20.326+00:00","modifiedAt":"2026-10-15T00:40:56.756+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                        \"fs/aio.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"337b543e274fe7a8f47df3c8293cc6686ffa620f\",\n                            \"lessThan\": \"10ca82aff58434e122c7c757cf0497c335f993f3\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"b4eea7a05ee0ab5ab0514421e6ba8c5d249cf942\",\n                            \"lessThan\": \"396dbbc18963648e9d1a4edbb55cfe08fa374d50\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"ea1cd64d59f22d6d13f367d62ec6e27b9344695f\",\n                            \"lessThan\": \"94eb0293703ced580f05dfbe5a57da5931e9aee2\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"d7b6fa97ec894edd02f64b83e5e72e1aa352f353\",\n                            \"lessThan\": \"a71cba07783abc76b547568b6452cd1dd9981410\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"18f614369def2a11a52f569fe0f910b199d13487\",\n                            \"lessThan\": \"18d5fc3c16cc317bd0e5f5dabe0660df415cadb7\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"e7e23fc5d5fe422827c9a43ecb579448f73876c7\",\n                            \"lessThan\": \"c01ed748847fe8b810d86efc229b9e6c7fafa01e\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"1dc7d74fe456944a9b1c57bd776280249f441ac6\",\n                            \"lessThan\": \"5c43d0041e3a05c6c41c318b759fff16d2384596\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"b820de741ae48ccf50dd95e297889c286ff4f760\",\n                            \"lessThan\": \"961ebd120565cb60cebe21cb634fbc456022db4a\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        }\n                    ]\n                }"},{"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                        \"fs/aio.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"4.19.308\",\n                            \"lessThan\": \"4.19.312\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.4.270\",\n                            \"lessThan\": \"5.4.274\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.10.211\",\n                            \"lessThan\": \"5.10.215\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.15.150\",\n                            \"lessThan\": \"5.15.154\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.1.80\",\n                            \"lessThan\": \"6.1.84\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.6.19\",\n                            \"lessThan\": \"6.6.24\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.7.7\",\n                            \"lessThan\": \"6.7.12\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"semver\"\n                        }\n                    ]\n                }"}],"metrics":[],"references":["https://git.kernel.org/stable/c/10ca82aff58434e122c7c757cf0497c335f993f3","https://git.kernel.org/stable/c/396dbbc18963648e9d1a4edbb55cfe08fa374d50","https://git.kernel.org/stable/c/94eb0293703ced580f05dfbe5a57da5931e9aee2","https://git.kernel.org/stable/c/a71cba07783abc76b547568b6452cd1dd9981410","https://git.kernel.org/stable/c/18d5fc3c16cc317bd0e5f5dabe0660df415cadb7","https://git.kernel.org/stable/c/c01ed748847fe8b810d86efc229b9e6c7fafa01e","https://git.kernel.org/stable/c/5c43d0041e3a05c6c41c318b759fff16d2384596","https://git.kernel.org/stable/c/961ebd120565cb60cebe21cb634fbc456022db4a"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2024-35815","license":"CVE Program Terms of Use","key":"cve-program:CVE-2024-35815","identifiers":["CVE-2024-35815"]},"retained":false,"historicalAffected":[]}],"coverage":[]}