CVE-2024-35793 (GCVE-0-2024-35793)

Vulnerability from cvelistv5 – Published: 2024-05-17 12:24 – Updated: 2026-08-05 11:29
VLAI
Title
debugfs: fix wait/cancellation handling during remove
Summary
In the Linux kernel, the following vulnerability has been resolved: debugfs: fix wait/cancellation handling during remove Ben Greear further reports deadlocks during concurrent debugfs remove while files are being accessed, even though the code in question now uses debugfs cancellations. Turns out that despite all the review on the locking, we missed completely that the logic is wrong: if the refcount hits zero we can finish (and need not wait for the completion), but if it doesn't we have to trigger all the cancellations. As written, we can _never_ get into the loop triggering the cancellations. Fix this, and explain it better while at it.
SSVC
Exploitation: none Automatable: no Technical Impact: partial
CISA Coordinator (v2.0.3)
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: 8c88a474357ead632b07c70bf7f119ace8c3b39e , < e88b5ae01901c4a655a53158397746334778a57b (git)
Affected: 8c88a474357ead632b07c70bf7f119ace8c3b39e , < 3d08cca5fd0aabb62b7015067ab40913b33da906 (git)
Affected: 8c88a474357ead632b07c70bf7f119ace8c3b39e , < 952c3fce297f12c7ff59380adb66b564e2bc9b64 (git)
Create a notification for this product.
Linux Linux Affected: 6.7
Unaffected: 0 , < 6.7 (semver)
Unaffected: 6.7.12 , ≤ 6.7.* (semver)
Unaffected: 6.8.3 , ≤ 6.8.* (semver)
Unaffected: 6.9 , ≤ * (original_commit_for_fix)
Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "adp": [
      {
        "providerMetadata": {
          "dateUpdated": "2024-08-02T03:21:47.366Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/e88b5ae01901c4a655a53158397746334778a57b"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/3d08cca5fd0aabb62b7015067ab40913b33da906"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/952c3fce297f12c7ff59380adb66b564e2bc9b64"
          }
        ],
        "title": "CVE Program Container"
      },
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2024-35793",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-09-10T15:42:47.871301Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2024-09-11T17:33:22.657Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "fs/debugfs/inode.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "e88b5ae01901c4a655a53158397746334778a57b",
              "status": "affected",
              "version": "8c88a474357ead632b07c70bf7f119ace8c3b39e",
              "versionType": "git"
            },
            {
              "lessThan": "3d08cca5fd0aabb62b7015067ab40913b33da906",
              "status": "affected",
              "version": "8c88a474357ead632b07c70bf7f119ace8c3b39e",
              "versionType": "git"
            },
            {
              "lessThan": "952c3fce297f12c7ff59380adb66b564e2bc9b64",
              "status": "affected",
              "version": "8c88a474357ead632b07c70bf7f119ace8c3b39e",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "fs/debugfs/inode.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.7"
            },
            {
              "lessThan": "6.7",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.7.*",
              "status": "unaffected",
              "version": "6.7.12",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.8.*",
              "status": "unaffected",
              "version": "6.8.3",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.9",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.7.12",
                  "versionStartIncluding": "6.7",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.8.3",
                  "versionStartIncluding": "6.7",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.9",
                  "versionStartIncluding": "6.7",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ndebugfs: fix wait/cancellation handling during remove\n\nBen Greear further reports deadlocks during concurrent debugfs\nremove while files are being accessed, even though the code in\nquestion now uses debugfs cancellations. Turns out that despite\nall the review on the locking, we missed completely that the\nlogic is wrong: if the refcount hits zero we can finish (and\nneed not wait for the completion), but if it doesn\u0027t we have\nto trigger all the cancellations. As written, we can _never_\nget into the loop triggering the cancellations. Fix this, and\nexplain it better while at it."
        }
      ],
      "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 - Exploitation requires a local process holding a read()/write() on a mac80211 debugfs file while a concurrent debugfs removal occurs. Although the removal half can be induced remotely by an adjacent WiFi attacker forcing station teardown via deauth, the active file access side is local.\nAC:L - The attacker controls both sides of the race \u2014 spawning many reader threads on station/interface debugfs files while deleting the station or interface \u2014 and the window between debugfs_file_get() and debugfs_enter_cancellation() is wide because the handler must queue and wait on wiphy work. Ben Greear reproduced the deadlock repeatedly during ordinary testing.\nPR:L - Only debugfs read/write access to mac80211 files is needed, which on Android, embedded, automotive and WiFi-testing platforms is routinely exposed to non-root system services, and the removal half happens on any disconnect without attacker privilege. Scored as low privilege consistent with the analogous debugfs deadlock CVE-2024-35795.\nUI:N - No victim action is required; the attacker\u0027s own threads perform both the debugfs access and the station/interface removal that triggers the race.\nS:U - The lost wakeup and resulting use-after-free are confined to kernel memory and kernel-managed locks, with no crossing of a VM, IOMMU, or sandbox security authority.\nC:H - Because __debugfs_file_removed() can return with active_users still non-zero, debugfs_remove_recursive() returns while a handler is still running, and sta_info/sdata are then freed under it \u2014 sta_agg_status_do_read() reads freed memory into a user-visible buffer, giving an arbitrary-read-style disclosure primitive.\nI:H - The same premature return lets sta_agg_status_do_write() call ieee80211_start_tx_ba_session() on a freed, sprayable sta_info, dereferencing freed pointers and queuing work \u2014 a use-after-free write primitive leveragable for control-flow hijack.\nA:H - The primary reported symptom is an unrecoverable deadlock in which the remover holds the wiphy mutex (and RTNL in the netdev teardown path) forever, wedging the entire networking control plane with unkillable tasks; the use-after-free additionally causes kernel oopses."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T11:29:59.377Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/e88b5ae01901c4a655a53158397746334778a57b"
        },
        {
          "url": "https://git.kernel.org/stable/c/3d08cca5fd0aabb62b7015067ab40913b33da906"
        },
        {
          "url": "https://git.kernel.org/stable/c/952c3fce297f12c7ff59380adb66b564e2bc9b64"
        }
      ],
      "title": "debugfs: fix wait/cancellation handling during remove",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2024-35793",
    "datePublished": "2024-05-17T12:24:56.630Z",
    "dateReserved": "2024-05-17T12:19:12.339Z",
    "dateUpdated": "2026-08-05T11:29:59.377Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2024-35793",
      "date": "2026-08-09",
      "epss": "0.00179",
      "percentile": "0.07619"
    },
    "fkie_nvd": {
      "descriptions": "[{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\ndebugfs: fix wait/cancellation handling during remove\\n\\nBen Greear further reports deadlocks during concurrent debugfs\\nremove while files are being accessed, even though the code in\\nquestion now uses debugfs cancellations. Turns out that despite\\nall the review on the locking, we missed completely that the\\nlogic is wrong: if the refcount hits zero we can finish (and\\nneed not wait for the completion), but if it doesn\u0027t we have\\nto trigger all the cancellations. As written, we can _never_\\nget into the loop triggering the cancellations. Fix this, and\\nexplain it better while at it.\"}, {\"lang\": \"es\", \"value\": \" En el kernel de Linux, se resolvi\\u00f3 la siguiente vulnerabilidad: debugfs: corrige el manejo de espera/cancelaci\\u00f3n durante la eliminaci\\u00f3n Ben Greear informa adem\\u00e1s bloqueos durante la eliminaci\\u00f3n de debugfs concurrentes mientras se accede a los archivos, aunque el c\\u00f3digo en cuesti\\u00f3n ahora usa cancelaciones de debugfs. Resulta que a pesar de toda la revisi\\u00f3n sobre el bloqueo, no entendimos por completo que la l\\u00f3gica es incorrecta: si el recuento llega a cero, podemos finalizar (y no necesitamos esperar a que se complete), pero si no es as\\u00ed, tenemos que activar todos los cancelaciones. Tal como est\\u00e1 escrito, _nunca_ podemos entrar en el ciclo que desencadena las cancelaciones. Arregla esto y expl\\u00edcalo mejor mientras lo haces.\"}]",
      "id": "CVE-2024-35793",
      "lastModified": "2024-11-21T09:20:54.497",
      "published": "2024-05-17T13:15:59.023",
      "references": "[{\"url\": \"https://git.kernel.org/stable/c/3d08cca5fd0aabb62b7015067ab40913b33da906\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}, {\"url\": \"https://git.kernel.org/stable/c/952c3fce297f12c7ff59380adb66b564e2bc9b64\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}, {\"url\": \"https://git.kernel.org/stable/c/e88b5ae01901c4a655a53158397746334778a57b\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}, {\"url\": \"https://git.kernel.org/stable/c/3d08cca5fd0aabb62b7015067ab40913b33da906\", \"source\": \"af854a3a-2127-422b-91ae-364da2661108\"}, {\"url\": \"https://git.kernel.org/stable/c/952c3fce297f12c7ff59380adb66b564e2bc9b64\", \"source\": \"af854a3a-2127-422b-91ae-364da2661108\"}, {\"url\": \"https://git.kernel.org/stable/c/e88b5ae01901c4a655a53158397746334778a57b\", \"source\": \"af854a3a-2127-422b-91ae-364da2661108\"}]",
      "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "vulnStatus": "Awaiting Analysis"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2024-35793\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2024-05-17T13:15:59.023\",\"lastModified\":\"2026-08-04T11:17:53.460\",\"vulnStatus\":\"Modified\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\ndebugfs: fix wait/cancellation handling during remove\\n\\nBen Greear further reports deadlocks during concurrent debugfs\\nremove while files are being accessed, even though the code in\\nquestion now uses debugfs cancellations. Turns out that despite\\nall the review on the locking, we missed completely that the\\nlogic is wrong: if the refcount hits zero we can finish (and\\nneed not wait for the completion), but if it doesn\u0027t we have\\nto trigger all the cancellations. As written, we can _never_\\nget into the loop triggering the cancellations. Fix this, and\\nexplain it better while at it.\"},{\"lang\":\"es\",\"value\":\" En el kernel de Linux, se resolvi\u00f3 la siguiente vulnerabilidad: debugfs: corrige el manejo de espera/cancelaci\u00f3n durante la eliminaci\u00f3n Ben Greear informa adem\u00e1s bloqueos durante la eliminaci\u00f3n de debugfs concurrentes mientras se accede a los archivos, aunque el c\u00f3digo en cuesti\u00f3n ahora usa cancelaciones de debugfs. Resulta que a pesar de toda la revisi\u00f3n sobre el bloqueo, no entendimos por completo que la l\u00f3gica es incorrecta: si el recuento llega a cero, podemos finalizar (y no necesitamos esperar a que se complete), pero si no es as\u00ed, tenemos que activar todos los cancelaciones. Tal como est\u00e1 escrito, _nunca_ podemos entrar en el ciclo que desencadena las cancelaciones. Arregla esto y expl\u00edcalo mejor mientras lo haces.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"fs/debugfs/inode.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"8c88a474357ead632b07c70bf7f119ace8c3b39e\",\"lessThan\":\"e88b5ae01901c4a655a53158397746334778a57b\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"8c88a474357ead632b07c70bf7f119ace8c3b39e\",\"lessThan\":\"3d08cca5fd0aabb62b7015067ab40913b33da906\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"8c88a474357ead632b07c70bf7f119ace8c3b39e\",\"lessThan\":\"952c3fce297f12c7ff59380adb66b564e2bc9b64\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"fs/debugfs/inode.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"6.7\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"6.7\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.7.12\",\"lessThanOrEqual\":\"6.7.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.8.3\",\"lessThanOrEqual\":\"6.8.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.9\",\"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:N/I:N/A:H\",\"baseScore\":5.5,\"baseSeverity\":\"MEDIUM\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":3.6}],\"ssvcV203\":[{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"ssvcData\":{\"timestamp\":\"2024-09-10T15:42:47.871301Z\",\"id\":\"CVE-2024-35793\",\"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-667\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.7.1\",\"versionEndExcluding\":\"6.7.12\",\"matchCriteriaId\":\"028E4B31-D2AB-4A26-9D0C-C16E862463B5\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.8\",\"versionEndExcluding\":\"6.8.3\",\"matchCriteriaId\":\"4C59BBC3-6495-4A77-9C82-55EC7CDF5E02\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.7:-:*:*:*:*:*:*\",\"matchCriteriaId\":\"62B55B1B-7D3E-499B-9C42-E9F1EF05A54A\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.7:rc4:*:*:*:*:*:*\",\"matchCriteriaId\":\"5C78EDA4-8BE6-42FC-9512-49032D525A55\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.7:rc5:*:*:*:*:*:*\",\"matchCriteriaId\":\"32F2E5CA-13C6-4601-B530-D465CBF73D1C\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.7:rc6:*:*:*:*:*:*\",\"matchCriteriaId\":\"5ED5AF93-F831-48BC-9545-CCB344E814FC\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.7:rc7:*:*:*:*:*:*\",\"matchCriteriaId\":\"81A7ABCB-0807-4AA2-8F4E-75E38D2E3FD4\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.7:rc8:*:*:*:*:*:*\",\"matchCriteriaId\":\"B01471D6-2DB4-4AF2-8BE0-B5082B4B9253\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/3d08cca5fd0aabb62b7015067ab40913b33da906\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/952c3fce297f12c7ff59380adb66b564e2bc9b64\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/e88b5ae01901c4a655a53158397746334778a57b\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/3d08cca5fd0aabb62b7015067ab40913b33da906\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/952c3fce297f12c7ff59380adb66b564e2bc9b64\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/e88b5ae01901c4a655a53158397746334778a57b\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-04T19:07:15+00:00",
      "cve": "CVE-2024-35793",
      "id": "CVE-2024-35793",
      "initial_release_date": "2024-05-17T00:00:00+00:00",
      "product_status:known_affected": "42",
      "product_status:known_not_affected": "156",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: debugfs: fix wait/cancellation handling during remove",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2024/cve-2024-35793.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-07-25T01:51:28Z",
      "cve": "CVE-2024-35793",
      "id": "CVE-2024-35793",
      "initial_release_date": "2024-05-21T02:00:20Z",
      "product_status:known_not_affected": "330",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2024-35793",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2024-35793.json",
      "version": "18"
    },
    "vulnrichment": {
      "containers": "{\"adp\": [{\"title\": \"CVE Program Container\", \"references\": [{\"url\": \"https://git.kernel.org/stable/c/e88b5ae01901c4a655a53158397746334778a57b\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/3d08cca5fd0aabb62b7015067ab40913b33da906\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/952c3fce297f12c7ff59380adb66b564e2bc9b64\", \"tags\": [\"x_transferred\"]}], \"providerMetadata\": {\"orgId\": \"af854a3a-2127-422b-91ae-364da2661108\", \"shortName\": \"CVE\", \"dateUpdated\": \"2024-08-02T03:21:47.366Z\"}}, {\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2024-35793\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2024-09-10T15:42:47.871301Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2024-09-11T12:42:16.398Z\"}}], \"cna\": {\"title\": \"debugfs: fix wait/cancellation handling during remove\", \"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 - Exploitation requires a local process holding a read()/write() on a mac80211 debugfs file while a concurrent debugfs removal occurs. Although the removal half can be induced remotely by an adjacent WiFi attacker forcing station teardown via deauth, the active file access side is local.\\nAC:L - The attacker controls both sides of the race \\u2014 spawning many reader threads on station/interface debugfs files while deleting the station or interface \\u2014 and the window between debugfs_file_get() and debugfs_enter_cancellation() is wide because the handler must queue and wait on wiphy work. Ben Greear reproduced the deadlock repeatedly during ordinary testing.\\nPR:L - Only debugfs read/write access to mac80211 files is needed, which on Android, embedded, automotive and WiFi-testing platforms is routinely exposed to non-root system services, and the removal half happens on any disconnect without attacker privilege. Scored as low privilege consistent with the analogous debugfs deadlock CVE-2024-35795.\\nUI:N - No victim action is required; the attacker\u0027s own threads perform both the debugfs access and the station/interface removal that triggers the race.\\nS:U - The lost wakeup and resulting use-after-free are confined to kernel memory and kernel-managed locks, with no crossing of a VM, IOMMU, or sandbox security authority.\\nC:H - Because __debugfs_file_removed() can return with active_users still non-zero, debugfs_remove_recursive() returns while a handler is still running, and sta_info/sdata are then freed under it \\u2014 sta_agg_status_do_read() reads freed memory into a user-visible buffer, giving an arbitrary-read-style disclosure primitive.\\nI:H - The same premature return lets sta_agg_status_do_write() call ieee80211_start_tx_ba_session() on a freed, sprayable sta_info, dereferencing freed pointers and queuing work \\u2014 a use-after-free write primitive leveragable for control-flow hijack.\\nA:H - The primary reported symptom is an unrecoverable deadlock in which the remover holds the wiphy mutex (and RTNL in the netdev teardown path) forever, wedging the entire networking control plane with unkillable tasks; the use-after-free additionally causes kernel oopses.\"}]}], \"affected\": [{\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"8c88a474357ead632b07c70bf7f119ace8c3b39e\", \"lessThan\": \"e88b5ae01901c4a655a53158397746334778a57b\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"8c88a474357ead632b07c70bf7f119ace8c3b39e\", \"lessThan\": \"3d08cca5fd0aabb62b7015067ab40913b33da906\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"8c88a474357ead632b07c70bf7f119ace8c3b39e\", \"lessThan\": \"952c3fce297f12c7ff59380adb66b564e2bc9b64\", \"versionType\": \"git\"}], \"programFiles\": [\"fs/debugfs/inode.c\"], \"defaultStatus\": \"unaffected\"}, {\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"6.7\"}, {\"status\": \"unaffected\", \"version\": \"0\", \"lessThan\": \"6.7\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"6.7.12\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.7.*\"}, {\"status\": \"unaffected\", \"version\": \"6.8.3\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.8.*\"}, {\"status\": \"unaffected\", \"version\": \"6.9\", \"versionType\": \"original_commit_for_fix\", \"lessThanOrEqual\": \"*\"}], \"programFiles\": [\"fs/debugfs/inode.c\"], \"defaultStatus\": \"affected\"}], \"references\": [{\"url\": \"https://git.kernel.org/stable/c/e88b5ae01901c4a655a53158397746334778a57b\"}, {\"url\": \"https://git.kernel.org/stable/c/3d08cca5fd0aabb62b7015067ab40913b33da906\"}, {\"url\": \"https://git.kernel.org/stable/c/952c3fce297f12c7ff59380adb66b564e2bc9b64\"}], \"x_generator\": {\"engine\": \"bippy-1.2.0\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\ndebugfs: fix wait/cancellation handling during remove\\n\\nBen Greear further reports deadlocks during concurrent debugfs\\nremove while files are being accessed, even though the code in\\nquestion now uses debugfs cancellations. Turns out that despite\\nall the review on the locking, we missed completely that the\\nlogic is wrong: if the refcount hits zero we can finish (and\\nneed not wait for the completion), but if it doesn\u0027t we have\\nto trigger all the cancellations. As written, we can _never_\\nget into the loop triggering the cancellations. Fix this, and\\nexplain it better while at it.\"}], \"cpeApplicability\": [{\"nodes\": [{\"negate\": false, \"cpeMatch\": [{\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.7.12\", \"versionStartIncluding\": \"6.7\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.8.3\", \"versionStartIncluding\": \"6.7\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.9\", \"versionStartIncluding\": \"6.7\"}], \"operator\": \"OR\"}]}], \"providerMetadata\": {\"orgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"shortName\": \"Linux\", \"dateUpdated\": \"2026-08-05T11:29:59.377Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2024-35793\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-08-05T11:29:59.377Z\", \"dateReserved\": \"2024-05-17T12:19:12.339Z\", \"assignerOrgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"datePublished\": \"2024-05-17T12:24:56.630Z\", \"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…