In the Linux kernel, the following vulnerability has been resolved:
lib/generic-radix-tree.c: Fix rare race in _genradixptr_alloc()
If we need to increase the tree depth, allocate a new node, and then race with another thread that increased the tree depth before us, we'll still have a preallocated node that might be used later.
If we then use that node for a new non-root node, it'll still have a pointer to the old root instead of being zeroed - fix this by zeroing it in the cmpxchg failure path.
[
{
"id": "CVE-2024-47668-09c35fa7",
"target": {
"file": "lib/generic-radix-tree.c",
"function": "__genradix_ptr_alloc"
},
"digest": {
"function_hash": "114043816470045208283198826457053663186",
"length": 954.0
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ebeff038744c498a036e7a92eb8e433ae0a386d7",
"signature_version": "v1"
},
{
"id": "CVE-2024-47668-23f1fd56",
"target": {
"file": "lib/generic-radix-tree.c",
"function": "__genradix_ptr_alloc"
},
"digest": {
"function_hash": "114043816470045208283198826457053663186",
"length": 954.0
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0f27f4f445390cb7f73d4209cb2bf32834dc53da",
"signature_version": "v1"
},
{
"id": "CVE-2024-47668-50bf7aa4",
"target": {
"file": "lib/generic-radix-tree.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"228289215517357730209751670299637445916",
"208295266490910194585854493123635630258",
"171903617937477142098805990175340184153",
"106482310649496102856057470683378103340"
]
},
"deprecated": false,
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ebeff038744c498a036e7a92eb8e433ae0a386d7",
"signature_version": "v1"
},
{
"id": "CVE-2024-47668-563f3059",
"target": {
"file": "lib/generic-radix-tree.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"228289215517357730209751670299637445916",
"208295266490910194585854493123635630258",
"171903617937477142098805990175340184153",
"106482310649496102856057470683378103340"
]
},
"deprecated": false,
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0f27f4f445390cb7f73d4209cb2bf32834dc53da",
"signature_version": "v1"
},
{
"id": "CVE-2024-47668-5c93f072",
"target": {
"file": "lib/generic-radix-tree.c",
"function": "__genradix_ptr_alloc"
},
"digest": {
"function_hash": "114043816470045208283198826457053663186",
"length": 954.0
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@99418ec776a39609f50934720419e0b464ca2283",
"signature_version": "v1"
},
{
"id": "CVE-2024-47668-7b7754c3",
"target": {
"file": "lib/generic-radix-tree.c",
"function": "__genradix_ptr_alloc"
},
"digest": {
"function_hash": "114043816470045208283198826457053663186",
"length": 954.0
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d942e855324a60107025c116245095632476613e",
"signature_version": "v1"
},
{
"id": "CVE-2024-47668-80406088",
"target": {
"file": "lib/generic-radix-tree.c",
"function": "__genradix_ptr_alloc"
},
"digest": {
"function_hash": "114043816470045208283198826457053663186",
"length": 954.0
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ad5ee9feebc2eb8cfc76ed74a2d6e55343b0e169",
"signature_version": "v1"
},
{
"id": "CVE-2024-47668-97182827",
"target": {
"file": "lib/generic-radix-tree.c",
"function": "__genradix_ptr_alloc"
},
"digest": {
"function_hash": "114043816470045208283198826457053663186",
"length": 954.0
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b2f11c6f3e1fc60742673b8675c95b78447f3dae",
"signature_version": "v1"
},
{
"id": "CVE-2024-47668-9c35019e",
"target": {
"file": "lib/generic-radix-tree.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"228289215517357730209751670299637445916",
"208295266490910194585854493123635630258",
"171903617937477142098805990175340184153",
"106482310649496102856057470683378103340"
]
},
"deprecated": false,
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b2f11c6f3e1fc60742673b8675c95b78447f3dae",
"signature_version": "v1"
},
{
"id": "CVE-2024-47668-b88b0b14",
"target": {
"file": "lib/generic-radix-tree.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"228289215517357730209751670299637445916",
"208295266490910194585854493123635630258",
"171903617937477142098805990175340184153",
"106482310649496102856057470683378103340"
]
},
"deprecated": false,
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0f078f8ca93b28a34e20bd050f12cd4efeee7c0f",
"signature_version": "v1"
},
{
"id": "CVE-2024-47668-c5ead844",
"target": {
"file": "lib/generic-radix-tree.c",
"function": "__genradix_ptr_alloc"
},
"digest": {
"function_hash": "114043816470045208283198826457053663186",
"length": 954.0
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0f078f8ca93b28a34e20bd050f12cd4efeee7c0f",
"signature_version": "v1"
},
{
"id": "CVE-2024-47668-c88a6bef",
"target": {
"file": "lib/generic-radix-tree.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"228289215517357730209751670299637445916",
"208295266490910194585854493123635630258",
"171903617937477142098805990175340184153",
"106482310649496102856057470683378103340"
]
},
"deprecated": false,
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d942e855324a60107025c116245095632476613e",
"signature_version": "v1"
},
{
"id": "CVE-2024-47668-d3824fd9",
"target": {
"file": "lib/generic-radix-tree.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"228289215517357730209751670299637445916",
"208295266490910194585854493123635630258",
"171903617937477142098805990175340184153",
"106482310649496102856057470683378103340"
]
},
"deprecated": false,
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ad5ee9feebc2eb8cfc76ed74a2d6e55343b0e169",
"signature_version": "v1"
},
{
"id": "CVE-2024-47668-f6d2dcd2",
"target": {
"file": "lib/generic-radix-tree.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"228289215517357730209751670299637445916",
"208295266490910194585854493123635630258",
"171903617937477142098805990175340184153",
"106482310649496102856057470683378103340"
]
},
"deprecated": false,
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@99418ec776a39609f50934720419e0b464ca2283",
"signature_version": "v1"
}
]