CVE-2024-41087 (GCVE-0-2024-41087)

Vulnerability from cvelistv5 – Published: 2024-07-29 15:48 – Updated: 2026-08-05 11:35
VLAI
Title
ata: libata-core: Fix double free on error
Summary
In the Linux kernel, the following vulnerability has been resolved: ata: libata-core: Fix double free on error If e.g. the ata_port_alloc() call in ata_host_alloc() fails, we will jump to the err_out label, which will call devres_release_group(). devres_release_group() will trigger a call to ata_host_release(). ata_host_release() calls kfree(host), so executing the kfree(host) in ata_host_alloc() will lead to a double free: kernel BUG at mm/slub.c:553! Oops: invalid opcode: 0000 [#1] PREEMPT SMP NOPTI CPU: 11 PID: 599 Comm: (udev-worker) Not tainted 6.10.0-rc5 #47 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-2.fc40 04/01/2014 RIP: 0010:kfree+0x2cf/0x2f0 Code: 5d 41 5e 41 5f 5d e9 80 d6 ff ff 4d 89 f1 41 b8 01 00 00 00 48 89 d9 48 89 da RSP: 0018:ffffc90000f377f0 EFLAGS: 00010246 RAX: ffff888112b1f2c0 RBX: ffff888112b1f2c0 RCX: ffff888112b1f320 RDX: 000000000000400b RSI: ffffffffc02c9de5 RDI: ffff888112b1f2c0 RBP: ffffc90000f37830 R08: 0000000000000000 R09: 0000000000000000 R10: ffffc90000f37610 R11: 617461203a736b6e R12: ffffea00044ac780 R13: ffff888100046400 R14: ffffffffc02c9de5 R15: 0000000000000006 FS: 00007f2f1cabe980(0000) GS:ffff88813b380000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f2f1c3acf75 CR3: 0000000111724000 CR4: 0000000000750ef0 PKRU: 55555554 Call Trace: <TASK> ? __die_body.cold+0x19/0x27 ? die+0x2e/0x50 ? do_trap+0xca/0x110 ? do_error_trap+0x6a/0x90 ? kfree+0x2cf/0x2f0 ? exc_invalid_op+0x50/0x70 ? kfree+0x2cf/0x2f0 ? asm_exc_invalid_op+0x1a/0x20 ? ata_host_alloc+0xf5/0x120 [libata] ? ata_host_alloc+0xf5/0x120 [libata] ? kfree+0x2cf/0x2f0 ata_host_alloc+0xf5/0x120 [libata] ata_host_alloc_pinfo+0x14/0xa0 [libata] ahci_init_one+0x6c9/0xd20 [ahci] Ensure that we will not call kfree(host) twice, by performing the kfree() only if the devres_open_group() call failed.
SSVC
Exploitation: none Automatable: no Technical Impact: partial
CISA Coordinator (v2.0.3)
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: dafd6c496381c1cd1f5ba9ad953e810bdcc931bc , < 290073b2b557e4dc21ee74a1e403d9ae79e393a2 (git)
Affected: dafd6c496381c1cd1f5ba9ad953e810bdcc931bc , < 56f1c7e290cd6c69c948fcd2e2a49e6a637ec38f (git)
Affected: dafd6c496381c1cd1f5ba9ad953e810bdcc931bc , < 010de9acbea58fbcbda08e3793d6262086a493fe (git)
Affected: dafd6c496381c1cd1f5ba9ad953e810bdcc931bc , < 5dde5f8b790274723640d29a07c5a97d57d62047 (git)
Affected: dafd6c496381c1cd1f5ba9ad953e810bdcc931bc , < 702c1edbafb2e6f9d20f6d391273b5be09d366a5 (git)
Affected: dafd6c496381c1cd1f5ba9ad953e810bdcc931bc , < 062e256516d7db5e7dcdef117f52025cd5c456e3 (git)
Affected: dafd6c496381c1cd1f5ba9ad953e810bdcc931bc , < 8106da4d88bbaed809e023cc8014b766223d6e76 (git)
Affected: dafd6c496381c1cd1f5ba9ad953e810bdcc931bc , < ab9e0c529eb7cafebdd31fe1644524e80a48b05d (git)
Create a notification for this product.
Linux Linux Affected: 4.17
Unaffected: 0 , < 4.17 (semver)
Unaffected: 4.19.317 , ≤ 4.19.* (semver)
Unaffected: 5.4.279 , ≤ 5.4.* (semver)
Unaffected: 5.10.221 , ≤ 5.10.* (semver)
Unaffected: 5.15.162 , ≤ 5.15.* (semver)
Unaffected: 6.1.97 , ≤ 6.1.* (semver)
Unaffected: 6.6.37 , ≤ 6.6.* (semver)
Unaffected: 6.9.8 , ≤ 6.9.* (semver)
Unaffected: 6.10 , ≤ * (original_commit_for_fix)
Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "adp": [
      {
        "providerMetadata": {
          "dateUpdated": "2025-11-03T22:00:41.841Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/290073b2b557e4dc21ee74a1e403d9ae79e393a2"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/56f1c7e290cd6c69c948fcd2e2a49e6a637ec38f"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/010de9acbea58fbcbda08e3793d6262086a493fe"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/5dde5f8b790274723640d29a07c5a97d57d62047"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/702c1edbafb2e6f9d20f6d391273b5be09d366a5"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/062e256516d7db5e7dcdef117f52025cd5c456e3"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/8106da4d88bbaed809e023cc8014b766223d6e76"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/ab9e0c529eb7cafebdd31fe1644524e80a48b05d"
          },
          {
            "url": "https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html"
          }
        ],
        "title": "CVE Program Container"
      },
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2024-41087",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-09-10T16:20:45.691103Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2024-09-11T17:33:58.682Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/ata/libata-core.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "290073b2b557e4dc21ee74a1e403d9ae79e393a2",
              "status": "affected",
              "version": "dafd6c496381c1cd1f5ba9ad953e810bdcc931bc",
              "versionType": "git"
            },
            {
              "lessThan": "56f1c7e290cd6c69c948fcd2e2a49e6a637ec38f",
              "status": "affected",
              "version": "dafd6c496381c1cd1f5ba9ad953e810bdcc931bc",
              "versionType": "git"
            },
            {
              "lessThan": "010de9acbea58fbcbda08e3793d6262086a493fe",
              "status": "affected",
              "version": "dafd6c496381c1cd1f5ba9ad953e810bdcc931bc",
              "versionType": "git"
            },
            {
              "lessThan": "5dde5f8b790274723640d29a07c5a97d57d62047",
              "status": "affected",
              "version": "dafd6c496381c1cd1f5ba9ad953e810bdcc931bc",
              "versionType": "git"
            },
            {
              "lessThan": "702c1edbafb2e6f9d20f6d391273b5be09d366a5",
              "status": "affected",
              "version": "dafd6c496381c1cd1f5ba9ad953e810bdcc931bc",
              "versionType": "git"
            },
            {
              "lessThan": "062e256516d7db5e7dcdef117f52025cd5c456e3",
              "status": "affected",
              "version": "dafd6c496381c1cd1f5ba9ad953e810bdcc931bc",
              "versionType": "git"
            },
            {
              "lessThan": "8106da4d88bbaed809e023cc8014b766223d6e76",
              "status": "affected",
              "version": "dafd6c496381c1cd1f5ba9ad953e810bdcc931bc",
              "versionType": "git"
            },
            {
              "lessThan": "ab9e0c529eb7cafebdd31fe1644524e80a48b05d",
              "status": "affected",
              "version": "dafd6c496381c1cd1f5ba9ad953e810bdcc931bc",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/ata/libata-core.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "4.17"
            },
            {
              "lessThan": "4.17",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "4.19.*",
              "status": "unaffected",
              "version": "4.19.317",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.4.*",
              "status": "unaffected",
              "version": "5.4.279",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.221",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.162",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.97",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.37",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.9.*",
              "status": "unaffected",
              "version": "6.9.8",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.10",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "4.19.317",
                  "versionStartIncluding": "4.17",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.4.279",
                  "versionStartIncluding": "4.17",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.221",
                  "versionStartIncluding": "4.17",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.162",
                  "versionStartIncluding": "4.17",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.97",
                  "versionStartIncluding": "4.17",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.37",
                  "versionStartIncluding": "4.17",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.9.8",
                  "versionStartIncluding": "4.17",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.10",
                  "versionStartIncluding": "4.17",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nata: libata-core: Fix double free on error\n\nIf e.g. the ata_port_alloc() call in ata_host_alloc() fails, we will jump\nto the err_out label, which will call devres_release_group().\ndevres_release_group() will trigger a call to ata_host_release().\nata_host_release() calls kfree(host), so executing the kfree(host) in\nata_host_alloc() will lead to a double free:\n\nkernel BUG at mm/slub.c:553!\nOops: invalid opcode: 0000 [#1] PREEMPT SMP NOPTI\nCPU: 11 PID: 599 Comm: (udev-worker) Not tainted 6.10.0-rc5 #47\nHardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-2.fc40 04/01/2014\nRIP: 0010:kfree+0x2cf/0x2f0\nCode: 5d 41 5e 41 5f 5d e9 80 d6 ff ff 4d 89 f1 41 b8 01 00 00 00 48 89 d9 48 89 da\nRSP: 0018:ffffc90000f377f0 EFLAGS: 00010246\nRAX: ffff888112b1f2c0 RBX: ffff888112b1f2c0 RCX: ffff888112b1f320\nRDX: 000000000000400b RSI: ffffffffc02c9de5 RDI: ffff888112b1f2c0\nRBP: ffffc90000f37830 R08: 0000000000000000 R09: 0000000000000000\nR10: ffffc90000f37610 R11: 617461203a736b6e R12: ffffea00044ac780\nR13: ffff888100046400 R14: ffffffffc02c9de5 R15: 0000000000000006\nFS:  00007f2f1cabe980(0000) GS:ffff88813b380000(0000) knlGS:0000000000000000\nCS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\nCR2: 00007f2f1c3acf75 CR3: 0000000111724000 CR4: 0000000000750ef0\nPKRU: 55555554\nCall Trace:\n \u003cTASK\u003e\n ? __die_body.cold+0x19/0x27\n ? die+0x2e/0x50\n ? do_trap+0xca/0x110\n ? do_error_trap+0x6a/0x90\n ? kfree+0x2cf/0x2f0\n ? exc_invalid_op+0x50/0x70\n ? kfree+0x2cf/0x2f0\n ? asm_exc_invalid_op+0x1a/0x20\n ? ata_host_alloc+0xf5/0x120 [libata]\n ? ata_host_alloc+0xf5/0x120 [libata]\n ? kfree+0x2cf/0x2f0\n ata_host_alloc+0xf5/0x120 [libata]\n ata_host_alloc_pinfo+0x14/0xa0 [libata]\n ahci_init_one+0x6c9/0xd20 [ahci]\n\nEnsure that we will not call kfree(host) twice, by performing the kfree()\nonly if the devres_open_group() call failed."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - `ata_host_alloc()` is only reachable from libata low-level driver probe routines (`ahci_init_one`, `libahci_platform`, `pata_*`, `ata_pci_sff_init_host`), which run from local device enumeration, module load, or sysfs driver bind. No remote peer or network protocol data ever reaches this code, so local access to the system is required.\nAC:L - The double free is a deterministic code-path defect \u2014 once `ata_port_alloc()` returns NULL, `devres_release_group()`\u0027s `ata_devres_release()` \u2192 `ata_host_release()` \u2192 `kfree(host)` and the fall-through `kfree(host)` always both execute, with no race or memory-layout requirement. The enabling allocation failure targets a large (~13 KB, order-2) `GFP_KERNEL` slab allocation, which an attacker can influence through sustained memory exhaustion and retry indefinitely across repeated probe/hotplug/bind attempts.\nPR:L - The attacker\u0027s own contribution \u2014 driving the system into the memory-pressure state that makes the probe-time `kzalloc()` fail \u2014 requires only ordinary unprivileged local execution, while the probe itself is initiated by routine system activity (boot, udev worker, device hotplug) rather than by any privilege the attacker must hold.\nUI:N - ATA host controller probes are performed automatically by the kernel and udev during enumeration, hotplug, and module load; no administrator or victim action is needed for the vulnerable path to execute.\nS:U - The corruption is confined to the kernel slab allocator of the same host, producing a conventional local kernel compromise or panic. No VM, hypervisor, or IOMMU boundary is crossed.\nC:H - A double free of a `kmalloc`\u0027d object poisons the SLUB freelist so that two independent allocations return the same memory, overlapping `struct ata_host` with an arbitrary other kernel object and giving the attacker a read view into structures they should not see. This is a memory-corruption primitive that can be leveraged for kernel information disclosure.\nI:H - The same freelist-aliasing/type-confusion condition yields a write primitive: one object\u0027s writes land inside another live kernel allocation, enabling corruption of function pointers or credential structures and control-flow hijacking. Double frees are a well-established route to kernel privilege escalation.\nA:H - On kernels with `CONFIG_SLAB_FREELIST_HARDENED`/SLUB debugging \u2014 the distro default \u2014 the second `kfree()` trips `kernel BUG at mm/slub.c:553`, producing the `Oops: invalid opcode` and kernel panic reproduced in the commit message. Even without detection, the aliased slab objects readily corrupt unrelated kernel state and crash the system."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T11:35:17.525Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/290073b2b557e4dc21ee74a1e403d9ae79e393a2"
        },
        {
          "url": "https://git.kernel.org/stable/c/56f1c7e290cd6c69c948fcd2e2a49e6a637ec38f"
        },
        {
          "url": "https://git.kernel.org/stable/c/010de9acbea58fbcbda08e3793d6262086a493fe"
        },
        {
          "url": "https://git.kernel.org/stable/c/5dde5f8b790274723640d29a07c5a97d57d62047"
        },
        {
          "url": "https://git.kernel.org/stable/c/702c1edbafb2e6f9d20f6d391273b5be09d366a5"
        },
        {
          "url": "https://git.kernel.org/stable/c/062e256516d7db5e7dcdef117f52025cd5c456e3"
        },
        {
          "url": "https://git.kernel.org/stable/c/8106da4d88bbaed809e023cc8014b766223d6e76"
        },
        {
          "url": "https://git.kernel.org/stable/c/ab9e0c529eb7cafebdd31fe1644524e80a48b05d"
        }
      ],
      "title": "ata: libata-core: Fix double free on error",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2024-41087",
    "datePublished": "2024-07-29T15:48:03.127Z",
    "dateReserved": "2024-07-12T12:17:45.634Z",
    "dateUpdated": "2026-08-05T11:35:17.525Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2024-41087",
      "date": "2026-08-07",
      "epss": "0.00244",
      "percentile": "0.15599"
    },
    "fkie_nvd": {
      "configurations": "[{\"nodes\": [{\"operator\": \"OR\", \"negate\": false, \"cpeMatch\": [{\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"versionStartIncluding\": \"4.17\", \"versionEndExcluding\": \"4.19.317\", \"matchCriteriaId\": \"356EA924-A840-4360-ADBF-A5405D9C9BBA\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"versionStartIncluding\": \"4.20\", \"versionEndExcluding\": \"5.4.279\", \"matchCriteriaId\": \"F4E38E58-1B9F-4DF2-AD3D-A8BEAA2959D8\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"versionStartIncluding\": \"5.5\", \"versionEndExcluding\": \"5.10.221\", \"matchCriteriaId\": \"659E1520-6345-41AF-B893-A7C0647585A0\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"versionStartIncluding\": \"5.11\", \"versionEndExcluding\": \"5.15.162\", \"matchCriteriaId\": \"10A39ACC-3005-40E8-875C-98A372D1FFD5\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"versionStartIncluding\": \"5.16\", \"versionEndExcluding\": \"6.1.97\", \"matchCriteriaId\": \"748B6C4B-1F61-47F9-96CC-8899B8412D84\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"versionStartIncluding\": \"6.2\", \"versionEndExcluding\": \"6.6.37\", \"matchCriteriaId\": \"D72E033B-5323-4C4D-8818-36E1EBC3535F\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"versionStartIncluding\": \"6.7\", \"versionEndExcluding\": \"6.9.8\", \"matchCriteriaId\": \"E95105F2-32E3-4C5F-9D18-7AEFD0E6275C\"}]}]}]",
      "descriptions": "[{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\nata: libata-core: Fix double free on error\\n\\nIf e.g. the ata_port_alloc() call in ata_host_alloc() fails, we will jump\\nto the err_out label, which will call devres_release_group().\\ndevres_release_group() will trigger a call to ata_host_release().\\nata_host_release() calls kfree(host), so executing the kfree(host) in\\nata_host_alloc() will lead to a double free:\\n\\nkernel BUG at mm/slub.c:553!\\nOops: invalid opcode: 0000 [#1] PREEMPT SMP NOPTI\\nCPU: 11 PID: 599 Comm: (udev-worker) Not tainted 6.10.0-rc5 #47\\nHardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-2.fc40 04/01/2014\\nRIP: 0010:kfree+0x2cf/0x2f0\\nCode: 5d 41 5e 41 5f 5d e9 80 d6 ff ff 4d 89 f1 41 b8 01 00 00 00 48 89 d9 48 89 da\\nRSP: 0018:ffffc90000f377f0 EFLAGS: 00010246\\nRAX: ffff888112b1f2c0 RBX: ffff888112b1f2c0 RCX: ffff888112b1f320\\nRDX: 000000000000400b RSI: ffffffffc02c9de5 RDI: ffff888112b1f2c0\\nRBP: ffffc90000f37830 R08: 0000000000000000 R09: 0000000000000000\\nR10: ffffc90000f37610 R11: 617461203a736b6e R12: ffffea00044ac780\\nR13: ffff888100046400 R14: ffffffffc02c9de5 R15: 0000000000000006\\nFS:  00007f2f1cabe980(0000) GS:ffff88813b380000(0000) knlGS:0000000000000000\\nCS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\\nCR2: 00007f2f1c3acf75 CR3: 0000000111724000 CR4: 0000000000750ef0\\nPKRU: 55555554\\nCall Trace:\\n \u003cTASK\u003e\\n ? __die_body.cold+0x19/0x27\\n ? die+0x2e/0x50\\n ? do_trap+0xca/0x110\\n ? do_error_trap+0x6a/0x90\\n ? kfree+0x2cf/0x2f0\\n ? exc_invalid_op+0x50/0x70\\n ? kfree+0x2cf/0x2f0\\n ? asm_exc_invalid_op+0x1a/0x20\\n ? ata_host_alloc+0xf5/0x120 [libata]\\n ? ata_host_alloc+0xf5/0x120 [libata]\\n ? kfree+0x2cf/0x2f0\\n ata_host_alloc+0xf5/0x120 [libata]\\n ata_host_alloc_pinfo+0x14/0xa0 [libata]\\n ahci_init_one+0x6c9/0xd20 [ahci]\\n\\nEnsure that we will not call kfree(host) twice, by performing the kfree()\\nonly if the devres_open_group() call failed.\"}, {\"lang\": \"es\", \"value\": \"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: ata: libata-core: corrige double free en caso de error Si, por ejemplo, la llamada ata_port_alloc() en ata_host_alloc() falla, saltaremos a la etiqueta err_out, que llamar\\u00e1 a devres_release_group() . devres_release_group() activar\\u00e1 una llamada a ata_host_release(). ata_host_release() llama a kfree(host), por lo que ejecutar kfree(host) en ata_host_alloc() provocar\\u00e1 un doble error de kernel free: en mm/slub.c:553. Ups: c\\u00f3digo de operaci\\u00f3n no v\\u00e1lido: 0000 [#1] PREEMPT SMP NOPTI CPU: 11 PID: 599 Comm: (udev-worker) No contaminado 6.10.0-rc5 #47 Nombre de hardware: PC est\\u00e1ndar QEMU (i440FX + PIIX, 1996), BIOS 1.16.3-2.fc40 01/04/2014 RIP: 0010:kfree+0x2cf/0x2f0 C\\u00f3digo: 5d 41 5e 41 5f 5d e9 80 d6 ff ff 4d 89 f1 41 b8 01 00 00 00 48 89 d9 48 89 da RSP : 0018:ffffc90000f377f0 EFLAGS: 00010246 RAX: ffff888112b1f2c0 RBX: ffff888112b1f2c0 RCX: ffff888112b1f320 RDX: 000000000000400b RSI: ffffffffc02c 9de5 RDI: ffff888112b1f2c0 RBP: ffffc90000f37830 R08: 0000000000000000 R09: 0000000000000000 R10: ffffc90000f37610 R11: 617461203a736b6e : ffffea00044ac780 R13: ffff888100046400 R14: ffffffffc02c9de5 R15 : 0000000000000006 FS: 00007f2f1cabe980(0000) GS:ffff88813b380000(0000) knlGS:00000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050 033 CR2: 00007f2f1c3acf75 CR3: 0000000111724000 CR4: 0000000000750ef0 PKRU: 55555554 Seguimiento de llamadas:  ? __die_body.cold+0x19/0x27 ? die+0x2e/0x50 ? do_trap+0xca/0x110 ? do_error_trap+0x6a/0x90? kfree+0x2cf/0x2f0 ? exc_invalid_op+0x50/0x70? kfree+0x2cf/0x2f0 ? asm_exc_invalid_op+0x1a/0x20? ata_host_alloc+0xf5/0x120 [libata]? ata_host_alloc+0xf5/0x120 [libata]? kfree+0x2cf/0x2f0 ata_host_alloc+0xf5/0x120 [libata] ata_host_alloc_pinfo+0x14/0xa0 [libata] ahci_init_one+0x6c9/0xd20 [ahci] Aseg\\u00farese de que no llamaremos a kfree(host) dos veces, realizando kfree() solo si La llamada a devres_open_group() fall\\u00f3.\"}]",
      "id": "CVE-2024-41087",
      "lastModified": "2024-11-21T09:32:13.063",
      "metrics": "{\"cvssMetricV31\": [{\"source\": \"nvd@nist.gov\", \"type\": \"Primary\", \"cvssData\": {\"version\": \"3.1\", \"vectorString\": \"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\", \"baseScore\": 7.8, \"baseSeverity\": \"HIGH\", \"attackVector\": \"LOCAL\", \"attackComplexity\": \"LOW\", \"privilegesRequired\": \"LOW\", \"userInteraction\": \"NONE\", \"scope\": \"UNCHANGED\", \"confidentialityImpact\": \"HIGH\", \"integrityImpact\": \"HIGH\", \"availabilityImpact\": \"HIGH\"}, \"exploitabilityScore\": 1.8, \"impactScore\": 5.9}]}",
      "published": "2024-07-29T16:15:04.120",
      "references": "[{\"url\": \"https://git.kernel.org/stable/c/010de9acbea58fbcbda08e3793d6262086a493fe\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/062e256516d7db5e7dcdef117f52025cd5c456e3\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/290073b2b557e4dc21ee74a1e403d9ae79e393a2\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/56f1c7e290cd6c69c948fcd2e2a49e6a637ec38f\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/5dde5f8b790274723640d29a07c5a97d57d62047\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/702c1edbafb2e6f9d20f6d391273b5be09d366a5\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/8106da4d88bbaed809e023cc8014b766223d6e76\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/ab9e0c529eb7cafebdd31fe1644524e80a48b05d\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/010de9acbea58fbcbda08e3793d6262086a493fe\", \"source\": \"af854a3a-2127-422b-91ae-364da2661108\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/062e256516d7db5e7dcdef117f52025cd5c456e3\", \"source\": \"af854a3a-2127-422b-91ae-364da2661108\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/290073b2b557e4dc21ee74a1e403d9ae79e393a2\", \"source\": \"af854a3a-2127-422b-91ae-364da2661108\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/56f1c7e290cd6c69c948fcd2e2a49e6a637ec38f\", \"source\": \"af854a3a-2127-422b-91ae-364da2661108\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/5dde5f8b790274723640d29a07c5a97d57d62047\", \"source\": \"af854a3a-2127-422b-91ae-364da2661108\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/702c1edbafb2e6f9d20f6d391273b5be09d366a5\", \"source\": \"af854a3a-2127-422b-91ae-364da2661108\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/8106da4d88bbaed809e023cc8014b766223d6e76\", \"source\": \"af854a3a-2127-422b-91ae-364da2661108\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/ab9e0c529eb7cafebdd31fe1644524e80a48b05d\", \"source\": \"af854a3a-2127-422b-91ae-364da2661108\", \"tags\": [\"Patch\"]}]",
      "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "vulnStatus": "Modified",
      "weaknesses": "[{\"source\": \"nvd@nist.gov\", \"type\": \"Primary\", \"description\": [{\"lang\": \"en\", \"value\": \"CWE-415\"}]}]"
    },
    "microsoft_vex": {
      "current_release_date": "2026-02-19T01:13:28.000Z",
      "cve": "CVE-2024-41087",
      "id": "msrc_CVE-2024-41087",
      "initial_release_date": "2024-07-01T07:00:00.000Z",
      "product_status:fixed": "2",
      "product_status:known_affected": "2",
      "source": "Microsoft CSAF VEX",
      "status": "final",
      "title": "ata: libata-core: Fix double free on error",
      "url": "https://msrc.microsoft.com/csaf/vex/2024/msrc_cve-2024-41087.json",
      "version": "2"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2024-41087\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2024-07-29T16:15:04.120\",\"lastModified\":\"2026-08-04T11:19:28.020\",\"vulnStatus\":\"Modified\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nata: libata-core: Fix double free on error\\n\\nIf e.g. the ata_port_alloc() call in ata_host_alloc() fails, we will jump\\nto the err_out label, which will call devres_release_group().\\ndevres_release_group() will trigger a call to ata_host_release().\\nata_host_release() calls kfree(host), so executing the kfree(host) in\\nata_host_alloc() will lead to a double free:\\n\\nkernel BUG at mm/slub.c:553!\\nOops: invalid opcode: 0000 [#1] PREEMPT SMP NOPTI\\nCPU: 11 PID: 599 Comm: (udev-worker) Not tainted 6.10.0-rc5 #47\\nHardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-2.fc40 04/01/2014\\nRIP: 0010:kfree+0x2cf/0x2f0\\nCode: 5d 41 5e 41 5f 5d e9 80 d6 ff ff 4d 89 f1 41 b8 01 00 00 00 48 89 d9 48 89 da\\nRSP: 0018:ffffc90000f377f0 EFLAGS: 00010246\\nRAX: ffff888112b1f2c0 RBX: ffff888112b1f2c0 RCX: ffff888112b1f320\\nRDX: 000000000000400b RSI: ffffffffc02c9de5 RDI: ffff888112b1f2c0\\nRBP: ffffc90000f37830 R08: 0000000000000000 R09: 0000000000000000\\nR10: ffffc90000f37610 R11: 617461203a736b6e R12: ffffea00044ac780\\nR13: ffff888100046400 R14: ffffffffc02c9de5 R15: 0000000000000006\\nFS:  00007f2f1cabe980(0000) GS:ffff88813b380000(0000) knlGS:0000000000000000\\nCS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\\nCR2: 00007f2f1c3acf75 CR3: 0000000111724000 CR4: 0000000000750ef0\\nPKRU: 55555554\\nCall Trace:\\n \u003cTASK\u003e\\n ? __die_body.cold+0x19/0x27\\n ? die+0x2e/0x50\\n ? do_trap+0xca/0x110\\n ? do_error_trap+0x6a/0x90\\n ? kfree+0x2cf/0x2f0\\n ? exc_invalid_op+0x50/0x70\\n ? kfree+0x2cf/0x2f0\\n ? asm_exc_invalid_op+0x1a/0x20\\n ? ata_host_alloc+0xf5/0x120 [libata]\\n ? ata_host_alloc+0xf5/0x120 [libata]\\n ? kfree+0x2cf/0x2f0\\n ata_host_alloc+0xf5/0x120 [libata]\\n ata_host_alloc_pinfo+0x14/0xa0 [libata]\\n ahci_init_one+0x6c9/0xd20 [ahci]\\n\\nEnsure that we will not call kfree(host) twice, by performing the kfree()\\nonly if the devres_open_group() call failed.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: ata: libata-core: corrige double free en caso de error Si, por ejemplo, la llamada ata_port_alloc() en ata_host_alloc() falla, saltaremos a la etiqueta err_out, que llamar\u00e1 a devres_release_group() . devres_release_group() activar\u00e1 una llamada a ata_host_release(). ata_host_release() llama a kfree(host), por lo que ejecutar kfree(host) en ata_host_alloc() provocar\u00e1 un doble error de kernel free: en mm/slub.c:553. Ups: c\u00f3digo de operaci\u00f3n no v\u00e1lido: 0000 [#1] PREEMPT SMP NOPTI CPU: 11 PID: 599 Comm: (udev-worker) No contaminado 6.10.0-rc5 #47 Nombre de hardware: PC est\u00e1ndar QEMU (i440FX + PIIX, 1996), BIOS 1.16.3-2.fc40 01/04/2014 RIP: 0010:kfree+0x2cf/0x2f0 C\u00f3digo: 5d 41 5e 41 5f 5d e9 80 d6 ff ff 4d 89 f1 41 b8 01 00 00 00 48 89 d9 48 89 da RSP : 0018:ffffc90000f377f0 EFLAGS: 00010246 RAX: ffff888112b1f2c0 RBX: ffff888112b1f2c0 RCX: ffff888112b1f320 RDX: 000000000000400b RSI: ffffffffc02c 9de5 RDI: ffff888112b1f2c0 RBP: ffffc90000f37830 R08: 0000000000000000 R09: 0000000000000000 R10: ffffc90000f37610 R11: 617461203a736b6e : ffffea00044ac780 R13: ffff888100046400 R14: ffffffffc02c9de5 R15 : 0000000000000006 FS: 00007f2f1cabe980(0000) GS:ffff88813b380000(0000) knlGS:00000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050 033 CR2: 00007f2f1c3acf75 CR3: 0000000111724000 CR4: 0000000000750ef0 PKRU: 55555554 Seguimiento de llamadas:  ? __die_body.cold+0x19/0x27 ? die+0x2e/0x50 ? do_trap+0xca/0x110 ? do_error_trap+0x6a/0x90? kfree+0x2cf/0x2f0 ? exc_invalid_op+0x50/0x70? kfree+0x2cf/0x2f0 ? asm_exc_invalid_op+0x1a/0x20? ata_host_alloc+0xf5/0x120 [libata]? ata_host_alloc+0xf5/0x120 [libata]? kfree+0x2cf/0x2f0 ata_host_alloc+0xf5/0x120 [libata] ata_host_alloc_pinfo+0x14/0xa0 [libata] ahci_init_one+0x6c9/0xd20 [ahci] Aseg\u00farese de que no llamaremos a kfree(host) dos veces, realizando kfree() solo si La llamada a devres_open_group() fall\u00f3.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"drivers/ata/libata-core.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"dafd6c496381c1cd1f5ba9ad953e810bdcc931bc\",\"lessThan\":\"290073b2b557e4dc21ee74a1e403d9ae79e393a2\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"dafd6c496381c1cd1f5ba9ad953e810bdcc931bc\",\"lessThan\":\"56f1c7e290cd6c69c948fcd2e2a49e6a637ec38f\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"dafd6c496381c1cd1f5ba9ad953e810bdcc931bc\",\"lessThan\":\"010de9acbea58fbcbda08e3793d6262086a493fe\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"dafd6c496381c1cd1f5ba9ad953e810bdcc931bc\",\"lessThan\":\"5dde5f8b790274723640d29a07c5a97d57d62047\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"dafd6c496381c1cd1f5ba9ad953e810bdcc931bc\",\"lessThan\":\"702c1edbafb2e6f9d20f6d391273b5be09d366a5\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"dafd6c496381c1cd1f5ba9ad953e810bdcc931bc\",\"lessThan\":\"062e256516d7db5e7dcdef117f52025cd5c456e3\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"dafd6c496381c1cd1f5ba9ad953e810bdcc931bc\",\"lessThan\":\"8106da4d88bbaed809e023cc8014b766223d6e76\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"dafd6c496381c1cd1f5ba9ad953e810bdcc931bc\",\"lessThan\":\"ab9e0c529eb7cafebdd31fe1644524e80a48b05d\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"drivers/ata/libata-core.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"4.17\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"4.17\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"4.19.317\",\"lessThanOrEqual\":\"4.19.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.4.279\",\"lessThanOrEqual\":\"5.4.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.10.221\",\"lessThanOrEqual\":\"5.10.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.15.162\",\"lessThanOrEqual\":\"5.15.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.1.97\",\"lessThanOrEqual\":\"6.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.6.37\",\"lessThanOrEqual\":\"6.6.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.9.8\",\"lessThanOrEqual\":\"6.9.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.10\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":7.8,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":5.9},{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":7.8,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":5.9}],\"ssvcV203\":[{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"ssvcData\":{\"timestamp\":\"2024-09-10T16:20:45.691103Z\",\"id\":\"CVE-2024-41087\",\"options\":[{\"exploitation\":\"none\"},{\"automatable\":\"no\"},{\"technicalImpact\":\"partial\"}],\"role\":\"CISA Coordinator\",\"version\":\"2.0.3\"}}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-415\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"4.17\",\"versionEndExcluding\":\"4.19.317\",\"matchCriteriaId\":\"356EA924-A840-4360-ADBF-A5405D9C9BBA\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"4.20\",\"versionEndExcluding\":\"5.4.279\",\"matchCriteriaId\":\"F4E38E58-1B9F-4DF2-AD3D-A8BEAA2959D8\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.5\",\"versionEndExcluding\":\"5.10.221\",\"matchCriteriaId\":\"659E1520-6345-41AF-B893-A7C0647585A0\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.11\",\"versionEndExcluding\":\"5.15.162\",\"matchCriteriaId\":\"10A39ACC-3005-40E8-875C-98A372D1FFD5\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.16\",\"versionEndExcluding\":\"6.1.97\",\"matchCriteriaId\":\"748B6C4B-1F61-47F9-96CC-8899B8412D84\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.2\",\"versionEndExcluding\":\"6.6.37\",\"matchCriteriaId\":\"D72E033B-5323-4C4D-8818-36E1EBC3535F\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.7\",\"versionEndExcluding\":\"6.9.8\",\"matchCriteriaId\":\"E95105F2-32E3-4C5F-9D18-7AEFD0E6275C\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/010de9acbea58fbcbda08e3793d6262086a493fe\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/062e256516d7db5e7dcdef117f52025cd5c456e3\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/290073b2b557e4dc21ee74a1e403d9ae79e393a2\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/56f1c7e290cd6c69c948fcd2e2a49e6a637ec38f\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/5dde5f8b790274723640d29a07c5a97d57d62047\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/702c1edbafb2e6f9d20f6d391273b5be09d366a5\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/8106da4d88bbaed809e023cc8014b766223d6e76\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/ab9e0c529eb7cafebdd31fe1644524e80a48b05d\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/010de9acbea58fbcbda08e3793d6262086a493fe\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/062e256516d7db5e7dcdef117f52025cd5c456e3\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/290073b2b557e4dc21ee74a1e403d9ae79e393a2\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/56f1c7e290cd6c69c948fcd2e2a49e6a637ec38f\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/5dde5f8b790274723640d29a07c5a97d57d62047\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/702c1edbafb2e6f9d20f6d391273b5be09d366a5\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/8106da4d88bbaed809e023cc8014b766223d6e76\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/ab9e0c529eb7cafebdd31fe1644524e80a48b05d\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-04T18:28:22+00:00",
      "cve": "CVE-2024-41087",
      "id": "CVE-2024-41087",
      "initial_release_date": "2024-07-29T00:00:00+00:00",
      "product_status:known_affected": "198",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: ata: libata-core: Fix double free on error",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2024/cve-2024-41087.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "important",
      "current_release_date": "2026-07-25T01:43:47Z",
      "cve": "CVE-2024-41087",
      "id": "CVE-2024-41087",
      "initial_release_date": "2024-08-02T02:10:22Z",
      "product_status:known_affected": "353",
      "product_status:known_not_affected": "30",
      "product_status:recommended": "988",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2024-41087",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2024-41087.json",
      "version": "85"
    },
    "vulnrichment": {
      "containers": "{\"adp\": [{\"title\": \"CVE Program Container\", \"references\": [{\"url\": \"https://git.kernel.org/stable/c/290073b2b557e4dc21ee74a1e403d9ae79e393a2\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/56f1c7e290cd6c69c948fcd2e2a49e6a637ec38f\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/010de9acbea58fbcbda08e3793d6262086a493fe\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/5dde5f8b790274723640d29a07c5a97d57d62047\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/702c1edbafb2e6f9d20f6d391273b5be09d366a5\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/062e256516d7db5e7dcdef117f52025cd5c456e3\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/8106da4d88bbaed809e023cc8014b766223d6e76\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/ab9e0c529eb7cafebdd31fe1644524e80a48b05d\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html\"}], \"providerMetadata\": {\"orgId\": \"af854a3a-2127-422b-91ae-364da2661108\", \"shortName\": \"CVE\", \"dateUpdated\": \"2025-11-03T22:00:41.841Z\"}}, {\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2024-41087\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2024-09-10T16:20:45.691103Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2024-09-11T12:42:19.944Z\"}}], \"cna\": {\"title\": \"ata: libata-core: Fix double free on error\", \"metrics\": [{\"cvssV3_1\": {\"version\": \"3.1\", \"baseScore\": 7.8, \"baseSeverity\": \"HIGH\", \"vectorString\": \"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\"}, \"scenarios\": [{\"lang\": \"en\", \"value\": \"AV:L - `ata_host_alloc()` is only reachable from libata low-level driver probe routines (`ahci_init_one`, `libahci_platform`, `pata_*`, `ata_pci_sff_init_host`), which run from local device enumeration, module load, or sysfs driver bind. No remote peer or network protocol data ever reaches this code, so local access to the system is required.\\nAC:L - The double free is a deterministic code-path defect \\u2014 once `ata_port_alloc()` returns NULL, `devres_release_group()`\u0027s `ata_devres_release()` \\u2192 `ata_host_release()` \\u2192 `kfree(host)` and the fall-through `kfree(host)` always both execute, with no race or memory-layout requirement. The enabling allocation failure targets a large (~13 KB, order-2) `GFP_KERNEL` slab allocation, which an attacker can influence through sustained memory exhaustion and retry indefinitely across repeated probe/hotplug/bind attempts.\\nPR:L - The attacker\u0027s own contribution \\u2014 driving the system into the memory-pressure state that makes the probe-time `kzalloc()` fail \\u2014 requires only ordinary unprivileged local execution, while the probe itself is initiated by routine system activity (boot, udev worker, device hotplug) rather than by any privilege the attacker must hold.\\nUI:N - ATA host controller probes are performed automatically by the kernel and udev during enumeration, hotplug, and module load; no administrator or victim action is needed for the vulnerable path to execute.\\nS:U - The corruption is confined to the kernel slab allocator of the same host, producing a conventional local kernel compromise or panic. No VM, hypervisor, or IOMMU boundary is crossed.\\nC:H - A double free of a `kmalloc`\u0027d object poisons the SLUB freelist so that two independent allocations return the same memory, overlapping `struct ata_host` with an arbitrary other kernel object and giving the attacker a read view into structures they should not see. This is a memory-corruption primitive that can be leveraged for kernel information disclosure.\\nI:H - The same freelist-aliasing/type-confusion condition yields a write primitive: one object\u0027s writes land inside another live kernel allocation, enabling corruption of function pointers or credential structures and control-flow hijacking. Double frees are a well-established route to kernel privilege escalation.\\nA:H - On kernels with `CONFIG_SLAB_FREELIST_HARDENED`/SLUB debugging \\u2014 the distro default \\u2014 the second `kfree()` trips `kernel BUG at mm/slub.c:553`, producing the `Oops: invalid opcode` and kernel panic reproduced in the commit message. Even without detection, the aliased slab objects readily corrupt unrelated kernel state and crash the system.\"}]}], \"affected\": [{\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"dafd6c496381c1cd1f5ba9ad953e810bdcc931bc\", \"lessThan\": \"290073b2b557e4dc21ee74a1e403d9ae79e393a2\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"dafd6c496381c1cd1f5ba9ad953e810bdcc931bc\", \"lessThan\": \"56f1c7e290cd6c69c948fcd2e2a49e6a637ec38f\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"dafd6c496381c1cd1f5ba9ad953e810bdcc931bc\", \"lessThan\": \"010de9acbea58fbcbda08e3793d6262086a493fe\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"dafd6c496381c1cd1f5ba9ad953e810bdcc931bc\", \"lessThan\": \"5dde5f8b790274723640d29a07c5a97d57d62047\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"dafd6c496381c1cd1f5ba9ad953e810bdcc931bc\", \"lessThan\": \"702c1edbafb2e6f9d20f6d391273b5be09d366a5\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"dafd6c496381c1cd1f5ba9ad953e810bdcc931bc\", \"lessThan\": \"062e256516d7db5e7dcdef117f52025cd5c456e3\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"dafd6c496381c1cd1f5ba9ad953e810bdcc931bc\", \"lessThan\": \"8106da4d88bbaed809e023cc8014b766223d6e76\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"dafd6c496381c1cd1f5ba9ad953e810bdcc931bc\", \"lessThan\": \"ab9e0c529eb7cafebdd31fe1644524e80a48b05d\", \"versionType\": \"git\"}], \"programFiles\": [\"drivers/ata/libata-core.c\"], \"defaultStatus\": \"unaffected\"}, {\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"4.17\"}, {\"status\": \"unaffected\", \"version\": \"0\", \"lessThan\": \"4.17\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"4.19.317\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"4.19.*\"}, {\"status\": \"unaffected\", \"version\": \"5.4.279\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.4.*\"}, {\"status\": \"unaffected\", \"version\": \"5.10.221\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.10.*\"}, {\"status\": \"unaffected\", \"version\": \"5.15.162\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.15.*\"}, {\"status\": \"unaffected\", \"version\": \"6.1.97\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.1.*\"}, {\"status\": \"unaffected\", \"version\": \"6.6.37\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.6.*\"}, {\"status\": \"unaffected\", \"version\": \"6.9.8\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.9.*\"}, {\"status\": \"unaffected\", \"version\": \"6.10\", \"versionType\": \"original_commit_for_fix\", \"lessThanOrEqual\": \"*\"}], \"programFiles\": [\"drivers/ata/libata-core.c\"], \"defaultStatus\": \"affected\"}], \"references\": [{\"url\": \"https://git.kernel.org/stable/c/290073b2b557e4dc21ee74a1e403d9ae79e393a2\"}, {\"url\": \"https://git.kernel.org/stable/c/56f1c7e290cd6c69c948fcd2e2a49e6a637ec38f\"}, {\"url\": \"https://git.kernel.org/stable/c/010de9acbea58fbcbda08e3793d6262086a493fe\"}, {\"url\": \"https://git.kernel.org/stable/c/5dde5f8b790274723640d29a07c5a97d57d62047\"}, {\"url\": \"https://git.kernel.org/stable/c/702c1edbafb2e6f9d20f6d391273b5be09d366a5\"}, {\"url\": \"https://git.kernel.org/stable/c/062e256516d7db5e7dcdef117f52025cd5c456e3\"}, {\"url\": \"https://git.kernel.org/stable/c/8106da4d88bbaed809e023cc8014b766223d6e76\"}, {\"url\": \"https://git.kernel.org/stable/c/ab9e0c529eb7cafebdd31fe1644524e80a48b05d\"}], \"x_generator\": {\"engine\": \"bippy-1.2.0\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\nata: libata-core: Fix double free on error\\n\\nIf e.g. the ata_port_alloc() call in ata_host_alloc() fails, we will jump\\nto the err_out label, which will call devres_release_group().\\ndevres_release_group() will trigger a call to ata_host_release().\\nata_host_release() calls kfree(host), so executing the kfree(host) in\\nata_host_alloc() will lead to a double free:\\n\\nkernel BUG at mm/slub.c:553!\\nOops: invalid opcode: 0000 [#1] PREEMPT SMP NOPTI\\nCPU: 11 PID: 599 Comm: (udev-worker) Not tainted 6.10.0-rc5 #47\\nHardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-2.fc40 04/01/2014\\nRIP: 0010:kfree+0x2cf/0x2f0\\nCode: 5d 41 5e 41 5f 5d e9 80 d6 ff ff 4d 89 f1 41 b8 01 00 00 00 48 89 d9 48 89 da\\nRSP: 0018:ffffc90000f377f0 EFLAGS: 00010246\\nRAX: ffff888112b1f2c0 RBX: ffff888112b1f2c0 RCX: ffff888112b1f320\\nRDX: 000000000000400b RSI: ffffffffc02c9de5 RDI: ffff888112b1f2c0\\nRBP: ffffc90000f37830 R08: 0000000000000000 R09: 0000000000000000\\nR10: ffffc90000f37610 R11: 617461203a736b6e R12: ffffea00044ac780\\nR13: ffff888100046400 R14: ffffffffc02c9de5 R15: 0000000000000006\\nFS:  00007f2f1cabe980(0000) GS:ffff88813b380000(0000) knlGS:0000000000000000\\nCS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\\nCR2: 00007f2f1c3acf75 CR3: 0000000111724000 CR4: 0000000000750ef0\\nPKRU: 55555554\\nCall Trace:\\n \u003cTASK\u003e\\n ? __die_body.cold+0x19/0x27\\n ? die+0x2e/0x50\\n ? do_trap+0xca/0x110\\n ? do_error_trap+0x6a/0x90\\n ? kfree+0x2cf/0x2f0\\n ? exc_invalid_op+0x50/0x70\\n ? kfree+0x2cf/0x2f0\\n ? asm_exc_invalid_op+0x1a/0x20\\n ? ata_host_alloc+0xf5/0x120 [libata]\\n ? ata_host_alloc+0xf5/0x120 [libata]\\n ? kfree+0x2cf/0x2f0\\n ata_host_alloc+0xf5/0x120 [libata]\\n ata_host_alloc_pinfo+0x14/0xa0 [libata]\\n ahci_init_one+0x6c9/0xd20 [ahci]\\n\\nEnsure that we will not call kfree(host) twice, by performing the kfree()\\nonly if the devres_open_group() call failed.\"}], \"cpeApplicability\": [{\"nodes\": [{\"negate\": false, \"cpeMatch\": [{\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"4.19.317\", \"versionStartIncluding\": \"4.17\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.4.279\", \"versionStartIncluding\": \"4.17\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.10.221\", \"versionStartIncluding\": \"4.17\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.15.162\", \"versionStartIncluding\": \"4.17\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.1.97\", \"versionStartIncluding\": \"4.17\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.6.37\", \"versionStartIncluding\": \"4.17\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.9.8\", \"versionStartIncluding\": \"4.17\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.10\", \"versionStartIncluding\": \"4.17\"}], \"operator\": \"OR\"}]}], \"providerMetadata\": {\"orgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"shortName\": \"Linux\", \"dateUpdated\": \"2026-08-05T11:35:17.525Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2024-41087\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-08-05T11:35:17.525Z\", \"dateReserved\": \"2024-07-12T12:17:45.634Z\", \"assignerOrgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"datePublished\": \"2024-07-29T15:48:03.127Z\", \"assignerShortName\": \"Linux\"}",
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Loading…