CVE-2024-39496 (GCVE-0-2024-39496)

Vulnerability from cvelistv5 – Published: 2024-07-12 12:20 – Updated: 2026-08-05 11:33
VLAI
Title
btrfs: zoned: fix use-after-free due to race with dev replace
Summary
In the Linux kernel, the following vulnerability has been resolved: btrfs: zoned: fix use-after-free due to race with dev replace While loading a zone's info during creation of a block group, we can race with a device replace operation and then trigger a use-after-free on the device that was just replaced (source device of the replace operation). This happens because at btrfs_load_zone_info() we extract a device from the chunk map into a local variable and then use the device while not under the protection of the device replace rwsem. So if there's a device replace operation happening when we extract the device and that device is the source of the replace operation, we will trigger a use-after-free if before we finish using the device the replace operation finishes and frees the device. Fix this by enlarging the critical section under the protection of the device replace rwsem so that all uses of the device are done inside the critical section.
SSVC
Exploitation: none Automatable: no Technical Impact: partial
CISA Coordinator (v2.0.3)
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: 5b316468983dfa9473ff0f1c42e4e30b4c267141 , < 17765964703b88d8befd899f8501150bb7e07e43 (git)
Affected: 5b316468983dfa9473ff0f1c42e4e30b4c267141 , < 092571ef9a812566c8f2c9038d9c2a64c49788d6 (git)
Affected: 5b316468983dfa9473ff0f1c42e4e30b4c267141 , < a0cc006f4214b87e70983c692e05bb36c59b5752 (git)
Affected: 5b316468983dfa9473ff0f1c42e4e30b4c267141 , < 0090d6e1b210551e63cf43958dc7a1ec942cdde9 (git)
Create a notification for this product.
Linux Linux Affected: 5.11
Unaffected: 0 , < 5.11 (semver)
Unaffected: 6.1.95 , ≤ 6.1.* (semver)
Unaffected: 6.6.35 , ≤ 6.6.* (semver)
Unaffected: 6.9.6 , ≤ 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-03T21:56:14.179Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/17765964703b88d8befd899f8501150bb7e07e43"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/092571ef9a812566c8f2c9038d9c2a64c49788d6"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/a0cc006f4214b87e70983c692e05bb36c59b5752"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/0090d6e1b210551e63cf43958dc7a1ec942cdde9"
          },
          {
            "url": "https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html"
          }
        ],
        "title": "CVE Program Container"
      },
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2024-39496",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-09-10T17:07:26.275755Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2024-09-11T17:34:39.782Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "fs/btrfs/zoned.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "17765964703b88d8befd899f8501150bb7e07e43",
              "status": "affected",
              "version": "5b316468983dfa9473ff0f1c42e4e30b4c267141",
              "versionType": "git"
            },
            {
              "lessThan": "092571ef9a812566c8f2c9038d9c2a64c49788d6",
              "status": "affected",
              "version": "5b316468983dfa9473ff0f1c42e4e30b4c267141",
              "versionType": "git"
            },
            {
              "lessThan": "a0cc006f4214b87e70983c692e05bb36c59b5752",
              "status": "affected",
              "version": "5b316468983dfa9473ff0f1c42e4e30b4c267141",
              "versionType": "git"
            },
            {
              "lessThan": "0090d6e1b210551e63cf43958dc7a1ec942cdde9",
              "status": "affected",
              "version": "5b316468983dfa9473ff0f1c42e4e30b4c267141",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "fs/btrfs/zoned.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.11"
            },
            {
              "lessThan": "5.11",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.95",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.35",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.9.*",
              "status": "unaffected",
              "version": "6.9.6",
              "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": "6.1.95",
                  "versionStartIncluding": "5.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.35",
                  "versionStartIncluding": "5.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.9.6",
                  "versionStartIncluding": "5.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.10",
                  "versionStartIncluding": "5.11",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nbtrfs: zoned: fix use-after-free due to race with dev replace\n\nWhile loading a zone\u0027s info during creation of a block group, we can race\nwith a device replace operation and then trigger a use-after-free on the\ndevice that was just replaced (source device of the replace operation).\n\nThis happens because at btrfs_load_zone_info() we extract a device from\nthe chunk map into a local variable and then use the device while not\nunder the protection of the device replace rwsem. So if there\u0027s a device\nreplace operation happening when we extract the device and that device\nis the source of the replace operation, we will trigger a use-after-free\nif before we finish using the device the replace operation finishes and\nfrees the device.\n\nFix this by enlarging the critical section under the protection of the\ndevice replace rwsem so that all uses of the device are done inside the\ncritical section."
        }
      ],
      "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 - The vulnerable path is entered through ordinary local filesystem activity (write/create syscalls forcing chunk allocation on a mounted zoned btrfs); no network or adjacent-network interface is involved.\nAC:L - The attacker drives the block-group-creation side of the race continuously and at will, and the window is unusually wide because the reader blocks in report-zones I/O holding the stale device pointer while the freeing side runs synchronize_rcu() before kfree(), so repeated attempts yield reliable success once a replace is in flight.\nPR:L - No capability is checked anywhere on the btrfs_chunk_alloc \u2192 btrfs_create_chunk \u2192 btrfs_make_block_group \u2192 btrfs_load_zone_info path; any unprivileged local user with write access to the zoned btrfs mount can force new block group creation and execute the use-after-free.\nUI:N - The attacker triggers the vulnerable code entirely through their own filesystem writes; no victim must open a file, click anything, or otherwise interact.\nS:U - The corruption occurs in kernel memory and is exploited by a local user against the same kernel; there is no crossing into a different security authority such as a hypervisor or IOMMU boundary.\nC:H - The freed struct btrfs_device is dereferenced for bdev, name and zone_info, and test_bit() reads through the freed zone_info-\u003eseq_zones bitmap; after reclaiming the kmalloc\u0027d object with sprayed data this yields an attacker-directed kernel memory read.\nI:H - btrfs_dev_clear_zone_empty() performs a __clear_bit() write through zone_info-\u003eempty_zones with both the base pointer and the bit index shift read out of the freed object, giving a controlled write primitive suitable for privilege escalation.\nA:H - Even without successful reclaim, dereferencing the freed device and issuing blkdev_report_zones() on a closed block device oopses the kernel inside a transaction, panicking the system or forcing the filesystem read-only."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T11:33:45.997Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/17765964703b88d8befd899f8501150bb7e07e43"
        },
        {
          "url": "https://git.kernel.org/stable/c/092571ef9a812566c8f2c9038d9c2a64c49788d6"
        },
        {
          "url": "https://git.kernel.org/stable/c/a0cc006f4214b87e70983c692e05bb36c59b5752"
        },
        {
          "url": "https://git.kernel.org/stable/c/0090d6e1b210551e63cf43958dc7a1ec942cdde9"
        }
      ],
      "title": "btrfs: zoned: fix use-after-free due to race with dev replace",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2024-39496",
    "datePublished": "2024-07-12T12:20:31.669Z",
    "dateReserved": "2024-06-25T14:23:23.751Z",
    "dateUpdated": "2026-08-05T11:33:45.997Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2024-39496",
      "date": "2026-08-05",
      "epss": "0.00288",
      "percentile": "0.20958"
    },
    "fkie_nvd": {
      "configurations": "[{\"nodes\": [{\"operator\": \"OR\", \"negate\": false, \"cpeMatch\": [{\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"versionEndExcluding\": \"6.1.95\", \"matchCriteriaId\": \"19A7A2F1-5F51-4897-8BF3-5079D28CBE9C\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"versionStartIncluding\": \"6.2\", \"versionEndExcluding\": \"6.6.35\", \"matchCriteriaId\": \"6F019D15-84C0-416B-8C57-7F51B68992F0\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"versionStartIncluding\": \"6.7\", \"versionEndExcluding\": \"6.9.6\", \"matchCriteriaId\": \"0ABBBA1D-F79D-4BDB-AA41-D1EDCC4A6975\"}]}]}]",
      "descriptions": "[{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\nbtrfs: zoned: fix use-after-free due to race with dev replace\\n\\nWhile loading a zone\u0027s info during creation of a block group, we can race\\nwith a device replace operation and then trigger a use-after-free on the\\ndevice that was just replaced (source device of the replace operation).\\n\\nThis happens because at btrfs_load_zone_info() we extract a device from\\nthe chunk map into a local variable and then use the device while not\\nunder the protection of the device replace rwsem. So if there\u0027s a device\\nreplace operation happening when we extract the device and that device\\nis the source of the replace operation, we will trigger a use-after-free\\nif before we finish using the device the replace operation finishes and\\nfrees the device.\\n\\nFix this by enlarging the critical section under the protection of the\\ndevice replace rwsem so that all uses of the device are done inside the\\ncritical section.\"}, {\"lang\": \"es\", \"value\": \"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: btrfs:zoned: corrige el use-after-free debido a la ejecuci\\u00f3n con el reemplazo de desarrollo. Mientras cargamos la informaci\\u00f3n de una zona durante la creaci\\u00f3n de un grupo de bloques, podemos ejecutar una operaci\\u00f3n de reemplazo de dispositivo y luego activar un use-after-free en el dispositivo que acaba de ser reemplazado (dispositivo fuente de la operaci\\u00f3n de reemplazo). Esto sucede porque en btrfs_load_zone_info() extraemos un dispositivo del mapa de fragmentos en una variable local y luego usamos el dispositivo mientras no est\\u00e1 bajo la protecci\\u00f3n del dispositivo y reemplazamos rwsem. Entonces, si se produce una operaci\\u00f3n de reemplazo de dispositivo cuando extraemos el dispositivo y ese dispositivo es la fuente de la operaci\\u00f3n de reemplazo, activaremos un use-after-free si antes de terminar de usar el dispositivo la operaci\\u00f3n de reemplazo finaliza y libera el dispositivo. Solucione este problema ampliando la secci\\u00f3n cr\\u00edtica bajo la protecci\\u00f3n del dispositivo y reemplace rwsem para que todos los usos del dispositivo se realicen dentro de la secci\\u00f3n cr\\u00edtica.\"}]",
      "id": "CVE-2024-39496",
      "lastModified": "2024-11-21T09:27:49.200",
      "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-12T13:15:12.253",
      "references": "[{\"url\": \"https://git.kernel.org/stable/c/0090d6e1b210551e63cf43958dc7a1ec942cdde9\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/092571ef9a812566c8f2c9038d9c2a64c49788d6\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/17765964703b88d8befd899f8501150bb7e07e43\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/a0cc006f4214b87e70983c692e05bb36c59b5752\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/0090d6e1b210551e63cf43958dc7a1ec942cdde9\", \"source\": \"af854a3a-2127-422b-91ae-364da2661108\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/092571ef9a812566c8f2c9038d9c2a64c49788d6\", \"source\": \"af854a3a-2127-422b-91ae-364da2661108\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/17765964703b88d8befd899f8501150bb7e07e43\", \"source\": \"af854a3a-2127-422b-91ae-364da2661108\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/a0cc006f4214b87e70983c692e05bb36c59b5752\", \"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-416\"}]}]"
    },
    "microsoft_vex": {
      "current_release_date": "2026-02-18T02:39:28.000Z",
      "cve": "CVE-2024-39496",
      "id": "msrc_CVE-2024-39496",
      "initial_release_date": "2024-07-01T07:00:00.000Z",
      "product_status:fixed": "2",
      "product_status:known_affected": "2",
      "product_status:known_not_affected": "2",
      "source": "Microsoft CSAF VEX",
      "status": "final",
      "title": "btrfs: zoned: fix use-after-free due to race with dev replace",
      "url": "https://msrc.microsoft.com/csaf/vex/2024/msrc_cve-2024-39496.json",
      "version": "2"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2024-39496\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2024-07-12T13:15:12.253\",\"lastModified\":\"2026-08-04T11:19:00.993\",\"vulnStatus\":\"Modified\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nbtrfs: zoned: fix use-after-free due to race with dev replace\\n\\nWhile loading a zone\u0027s info during creation of a block group, we can race\\nwith a device replace operation and then trigger a use-after-free on the\\ndevice that was just replaced (source device of the replace operation).\\n\\nThis happens because at btrfs_load_zone_info() we extract a device from\\nthe chunk map into a local variable and then use the device while not\\nunder the protection of the device replace rwsem. So if there\u0027s a device\\nreplace operation happening when we extract the device and that device\\nis the source of the replace operation, we will trigger a use-after-free\\nif before we finish using the device the replace operation finishes and\\nfrees the device.\\n\\nFix this by enlarging the critical section under the protection of the\\ndevice replace rwsem so that all uses of the device are done inside the\\ncritical section.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: btrfs:zoned: corrige el use-after-free debido a la ejecuci\u00f3n con el reemplazo de desarrollo. Mientras cargamos la informaci\u00f3n de una zona durante la creaci\u00f3n de un grupo de bloques, podemos ejecutar una operaci\u00f3n de reemplazo de dispositivo y luego activar un use-after-free en el dispositivo que acaba de ser reemplazado (dispositivo fuente de la operaci\u00f3n de reemplazo). Esto sucede porque en btrfs_load_zone_info() extraemos un dispositivo del mapa de fragmentos en una variable local y luego usamos el dispositivo mientras no est\u00e1 bajo la protecci\u00f3n del dispositivo y reemplazamos rwsem. Entonces, si se produce una operaci\u00f3n de reemplazo de dispositivo cuando extraemos el dispositivo y ese dispositivo es la fuente de la operaci\u00f3n de reemplazo, activaremos un use-after-free si antes de terminar de usar el dispositivo la operaci\u00f3n de reemplazo finaliza y libera el dispositivo. Solucione este problema ampliando la secci\u00f3n cr\u00edtica bajo la protecci\u00f3n del dispositivo y reemplace rwsem para que todos los usos del dispositivo se realicen dentro de la secci\u00f3n cr\u00edtica.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"fs/btrfs/zoned.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"5b316468983dfa9473ff0f1c42e4e30b4c267141\",\"lessThan\":\"17765964703b88d8befd899f8501150bb7e07e43\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"5b316468983dfa9473ff0f1c42e4e30b4c267141\",\"lessThan\":\"092571ef9a812566c8f2c9038d9c2a64c49788d6\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"5b316468983dfa9473ff0f1c42e4e30b4c267141\",\"lessThan\":\"a0cc006f4214b87e70983c692e05bb36c59b5752\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"5b316468983dfa9473ff0f1c42e4e30b4c267141\",\"lessThan\":\"0090d6e1b210551e63cf43958dc7a1ec942cdde9\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"fs/btrfs/zoned.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"5.11\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"5.11\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.1.95\",\"lessThanOrEqual\":\"6.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.6.35\",\"lessThanOrEqual\":\"6.6.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.9.6\",\"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-10T17:07:26.275755Z\",\"id\":\"CVE-2024-39496\",\"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-416\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:debian:debian_linux:11.0:*:*:*:*:*:*:*\",\"matchCriteriaId\":\"FA6FEEC2-9F11-4643-8827-749718254FED\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.12\",\"versionEndExcluding\":\"6.1.95\",\"matchCriteriaId\":\"5A8C21E9-F184-4280-95B0-1754A2DEC1EE\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.2\",\"versionEndExcluding\":\"6.6.35\",\"matchCriteriaId\":\"6F019D15-84C0-416B-8C57-7F51B68992F0\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.7\",\"versionEndExcluding\":\"6.9.6\",\"matchCriteriaId\":\"0ABBBA1D-F79D-4BDB-AA41-D1EDCC4A6975\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/0090d6e1b210551e63cf43958dc7a1ec942cdde9\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/092571ef9a812566c8f2c9038d9c2a64c49788d6\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/17765964703b88d8befd899f8501150bb7e07e43\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/a0cc006f4214b87e70983c692e05bb36c59b5752\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/0090d6e1b210551e63cf43958dc7a1ec942cdde9\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/092571ef9a812566c8f2c9038d9c2a64c49788d6\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/17765964703b88d8befd899f8501150bb7e07e43\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/a0cc006f4214b87e70983c692e05bb36c59b5752\",\"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\",\"tags\":[\"Mailing List\",\"Third Party Advisory\"]}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-04T18:48:06+00:00",
      "cve": "CVE-2024-39496",
      "id": "CVE-2024-39496",
      "initial_release_date": "2024-07-12T00:00:00+00:00",
      "product_status:known_not_affected": "198",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: btrfs: zoned: fix use-after-free due to race with dev replace",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2024/cve-2024-39496.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "important",
      "current_release_date": "2026-08-05T00:56:23Z",
      "cve": "CVE-2024-39496",
      "id": "CVE-2024-39496",
      "initial_release_date": "2024-07-13T02:37:13Z",
      "product_status:known_affected": "394",
      "product_status:known_not_affected": "230",
      "product_status:recommended": "358",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2024-39496",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2024-39496.json",
      "version": "94"
    },
    "vulnrichment": {
      "containers": "{\"adp\": [{\"title\": \"CVE Program Container\", \"references\": [{\"url\": \"https://git.kernel.org/stable/c/17765964703b88d8befd899f8501150bb7e07e43\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/092571ef9a812566c8f2c9038d9c2a64c49788d6\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/a0cc006f4214b87e70983c692e05bb36c59b5752\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/0090d6e1b210551e63cf43958dc7a1ec942cdde9\", \"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-03T21:56:14.179Z\"}}, {\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2024-39496\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2024-09-10T17:07:26.275755Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2024-09-11T12:42:25.052Z\"}}], \"cna\": {\"title\": \"btrfs: zoned: fix use-after-free due to race with dev replace\", \"affected\": [{\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"5b316468983dfa9473ff0f1c42e4e30b4c267141\", \"lessThan\": \"17765964703b88d8befd899f8501150bb7e07e43\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"5b316468983dfa9473ff0f1c42e4e30b4c267141\", \"lessThan\": \"092571ef9a812566c8f2c9038d9c2a64c49788d6\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"5b316468983dfa9473ff0f1c42e4e30b4c267141\", \"lessThan\": \"a0cc006f4214b87e70983c692e05bb36c59b5752\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"5b316468983dfa9473ff0f1c42e4e30b4c267141\", \"lessThan\": \"0090d6e1b210551e63cf43958dc7a1ec942cdde9\", \"versionType\": \"git\"}], \"programFiles\": [\"fs/btrfs/zoned.c\"], \"defaultStatus\": \"unaffected\"}, {\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"5.11\"}, {\"status\": \"unaffected\", \"version\": \"0\", \"lessThan\": \"5.11\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"6.1.95\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.1.*\"}, {\"status\": \"unaffected\", \"version\": \"6.6.35\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.6.*\"}, {\"status\": \"unaffected\", \"version\": \"6.9.6\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.9.*\"}, {\"status\": \"unaffected\", \"version\": \"6.10\", \"versionType\": \"original_commit_for_fix\", \"lessThanOrEqual\": \"*\"}], \"programFiles\": [\"fs/btrfs/zoned.c\"], \"defaultStatus\": \"affected\"}], \"references\": [{\"url\": \"https://git.kernel.org/stable/c/17765964703b88d8befd899f8501150bb7e07e43\"}, {\"url\": \"https://git.kernel.org/stable/c/092571ef9a812566c8f2c9038d9c2a64c49788d6\"}, {\"url\": \"https://git.kernel.org/stable/c/a0cc006f4214b87e70983c692e05bb36c59b5752\"}, {\"url\": \"https://git.kernel.org/stable/c/0090d6e1b210551e63cf43958dc7a1ec942cdde9\"}], \"x_generator\": {\"engine\": \"bippy-1.2.0\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\nbtrfs: zoned: fix use-after-free due to race with dev replace\\n\\nWhile loading a zone\u0027s info during creation of a block group, we can race\\nwith a device replace operation and then trigger a use-after-free on the\\ndevice that was just replaced (source device of the replace operation).\\n\\nThis happens because at btrfs_load_zone_info() we extract a device from\\nthe chunk map into a local variable and then use the device while not\\nunder the protection of the device replace rwsem. So if there\u0027s a device\\nreplace operation happening when we extract the device and that device\\nis the source of the replace operation, we will trigger a use-after-free\\nif before we finish using the device the replace operation finishes and\\nfrees the device.\\n\\nFix this by enlarging the critical section under the protection of the\\ndevice replace rwsem so that all uses of the device are done inside the\\ncritical section.\"}], \"cpeApplicability\": [{\"nodes\": [{\"negate\": false, \"cpeMatch\": [{\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.1.95\", \"versionStartIncluding\": \"5.11\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.6.35\", \"versionStartIncluding\": \"5.11\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.9.6\", \"versionStartIncluding\": \"5.11\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.10\", \"versionStartIncluding\": \"5.11\"}], \"operator\": \"OR\"}]}], \"providerMetadata\": {\"orgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"shortName\": \"Linux\", \"dateUpdated\": \"2026-05-11T20:21:41.128Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2024-39496\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-05-11T20:21:41.128Z\", \"dateReserved\": \"2024-06-25T14:23:23.751Z\", \"assignerOrgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"datePublished\": \"2024-07-12T12:20:31.669Z\", \"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…