In the Linux kernel, the following vulnerability has been resolved:
padata: use integer wrap around to prevent deadlock on seq_nr overflow
When submitting more than 2^32 padata objects to padatadoserial, the current sorting implementation incorrectly sorts padata objects with overflowed seqnr, causing them to be placed before existing objects in the reorder list. This leads to a deadlock in the serialization process as padatafindnext cannot match padata->seqnr and pd->processed because the padata instance with overflowed seq_nr will be selected next.
To fix this, we use an unsigned integer wrap around to correctly sort padata objects in scenarios with integer overflow.
[ { "signature_type": "Function", "id": "CVE-2024-47739-0f8f50e6", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ab205e1c3846326f162180e56825b4ba38ce9c30", "signature_version": "v1", "target": { "function": "padata_do_serial", "file": "kernel/padata.c" }, "digest": { "function_hash": "309146923002385134042938881178317291196", "length": 462.0 }, "deprecated": false }, { "signature_type": "Line", "id": "CVE-2024-47739-10064009", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1bd712de96ad7167fe0d608e706cd60587579f16", "signature_version": "v1", "target": { "file": "kernel/padata.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "125047468933707589645592084367726223627", "72939155448577182606838087031040473249", "67889873374823003635935205057071204388", "59238471222996328800471117912972183183" ] }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-47739-1039fe5c", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9a22b2812393d93d84358a760c347c21939029a6", "signature_version": "v1", "target": { "function": "padata_do_serial", "file": "kernel/padata.c" }, "digest": { "function_hash": "309146923002385134042938881178317291196", "length": 462.0 }, "deprecated": false }, { "signature_type": "Line", "id": "CVE-2024-47739-24eb791b", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9e279e6c1f012b82628b89e1b9c65dbefa8ca25a", "signature_version": "v1", "target": { "file": "kernel/padata.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "125047468933707589645592084367726223627", "72939155448577182606838087031040473249", "67889873374823003635935205057071204388", "59238471222996328800471117912972183183" ] }, "deprecated": false }, { "signature_type": "Line", "id": "CVE-2024-47739-2f2e89c3", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@72164d5b648951684b1a593996b37a6083c61d7d", "signature_version": "v1", "target": { "file": "kernel/padata.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "125047468933707589645592084367726223627", "72939155448577182606838087031040473249", "67889873374823003635935205057071204388", "59238471222996328800471117912972183183" ] }, "deprecated": false }, { "signature_type": "Line", "id": "CVE-2024-47739-46f7e8b6", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@46c4079460f4dcaf445860679558eedef4e1bc91", "signature_version": "v1", "target": { "file": "kernel/padata.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "125047468933707589645592084367726223627", "72939155448577182606838087031040473249", "67889873374823003635935205057071204388", "59238471222996328800471117912972183183" ] }, "deprecated": false }, { "signature_type": "Line", "id": "CVE-2024-47739-565307fa", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1b8cf11b3ca593a8802a51802cd0c28c38501428", "signature_version": "v1", "target": { "file": "kernel/padata.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "125047468933707589645592084367726223627", "72939155448577182606838087031040473249", "67889873374823003635935205057071204388", "59238471222996328800471117912972183183" ] }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-47739-913a3ae1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9e279e6c1f012b82628b89e1b9c65dbefa8ca25a", "signature_version": "v1", "target": { "function": "padata_do_serial", "file": "kernel/padata.c" }, "digest": { "function_hash": "309146923002385134042938881178317291196", "length": 462.0 }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-47739-9149ef62", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1b8cf11b3ca593a8802a51802cd0c28c38501428", "signature_version": "v1", "target": { "function": "padata_do_serial", "file": "kernel/padata.c" }, "digest": { "function_hash": "309146923002385134042938881178317291196", "length": 462.0 }, "deprecated": false }, { "signature_type": "Line", "id": "CVE-2024-47739-91d0d775", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9a22b2812393d93d84358a760c347c21939029a6", "signature_version": "v1", "target": { "file": "kernel/padata.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "125047468933707589645592084367726223627", "72939155448577182606838087031040473249", "67889873374823003635935205057071204388", "59238471222996328800471117912972183183" ] }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-47739-aee71172", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@46c4079460f4dcaf445860679558eedef4e1bc91", "signature_version": "v1", "target": { "function": "padata_do_serial", "file": "kernel/padata.c" }, "digest": { "function_hash": "309146923002385134042938881178317291196", "length": 462.0 }, "deprecated": false }, { "signature_type": "Line", "id": "CVE-2024-47739-e2b67a70", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ab205e1c3846326f162180e56825b4ba38ce9c30", "signature_version": "v1", "target": { "file": "kernel/padata.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "125047468933707589645592084367726223627", "72939155448577182606838087031040473249", "67889873374823003635935205057071204388", "59238471222996328800471117912972183183" ] }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-47739-e6a25eba", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@72164d5b648951684b1a593996b37a6083c61d7d", "signature_version": "v1", "target": { "function": "padata_do_serial", "file": "kernel/padata.c" }, "digest": { "function_hash": "309146923002385134042938881178317291196", "length": 462.0 }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-47739-ff10ec20", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1bd712de96ad7167fe0d608e706cd60587579f16", "signature_version": "v1", "target": { "function": "padata_do_serial", "file": "kernel/padata.c" }, "digest": { "function_hash": "309146923002385134042938881178317291196", "length": 462.0 }, "deprecated": false } ]