CVE-2024-39282 (GCVE-0-2024-39282)
Vulnerability from cvelistv5
Published
2025-01-15 13:10
Modified
2026-08-05 11:33
Summary
In the Linux kernel, the following vulnerability has been resolved: net: wwan: t7xx: Fix FSM command timeout issue When driver processes the internal state change command, it use an asynchronous thread to process the command operation. If the main thread detects that the task has timed out, the asynchronous thread will panic when executing the completion notification because the main thread completion object has been released. BUG: unable to handle page fault for address: fffffffffffffff8 PGD 1f283a067 P4D 1f283a067 PUD 1f283c067 PMD 0 Oops: 0000 [#1] PREEMPT SMP NOPTI RIP: 0010:complete_all+0x3e/0xa0 [...] Call Trace: <TASK> ? __die_body+0x68/0xb0 ? page_fault_oops+0x379/0x3e0 ? exc_page_fault+0x69/0xa0 ? asm_exc_page_fault+0x22/0x30 ? complete_all+0x3e/0xa0 fsm_main_thread+0xa3/0x9c0 [mtk_t7xx (HASH:1400 5)] ? __pfx_autoremove_wake_function+0x10/0x10 kthread+0xd8/0x110 ? __pfx_fsm_main_thread+0x10/0x10 [mtk_t7xx (HASH:1400 5)] ? __pfx_kthread+0x10/0x10 ret_from_fork+0x38/0x50 ? __pfx_kthread+0x10/0x10 ret_from_fork_asm+0x1b/0x30 </TASK> [...] CR2: fffffffffffffff8 ---[ end trace 0000000000000000 ]--- Use the reference counter to ensure safe release as Sergey suggests: https://lore.kernel.org/all/da90f64c-260a-4329-87bf-1f9ff20a5951@gmail.com/
Impacted products
Vendor Product Version
Linux Linux Version: 13e920d93e37fcaef4a9309515798a3cae9dcf19
Version: 13e920d93e37fcaef4a9309515798a3cae9dcf19
Version: 13e920d93e37fcaef4a9309515798a3cae9dcf19
Version: 13e920d93e37fcaef4a9309515798a3cae9dcf19
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "providerMetadata": {
          "dateUpdated": "2025-11-03T20:38:14.199Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "url": "https://lists.debian.org/debian-lts-announce/2025/03/msg00001.html"
          }
        ],
        "title": "CVE Program Container"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/wwan/t7xx/t7xx_state_monitor.c",
            "drivers/net/wwan/t7xx/t7xx_state_monitor.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "b8ab9bd0c8855cd5a6f4e0265083576257ff3fc5",
              "status": "affected",
              "version": "13e920d93e37fcaef4a9309515798a3cae9dcf19",
              "versionType": "git"
            },
            {
              "lessThan": "0cd3bde081cd3452c875fa1e5c55834c670d6e05",
              "status": "affected",
              "version": "13e920d93e37fcaef4a9309515798a3cae9dcf19",
              "versionType": "git"
            },
            {
              "lessThan": "e6e6882a1590cbdaca77a31a02f4954327237e14",
              "status": "affected",
              "version": "13e920d93e37fcaef4a9309515798a3cae9dcf19",
              "versionType": "git"
            },
            {
              "lessThan": "4f619d518db9cd1a933c3a095a5f95d0c1584ae8",
              "status": "affected",
              "version": "13e920d93e37fcaef4a9309515798a3cae9dcf19",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/wwan/t7xx/t7xx_state_monitor.c",
            "drivers/net/wwan/t7xx/t7xx_state_monitor.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.19"
            },
            {
              "lessThan": "5.19",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.124",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.70",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.9",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.13",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.124",
                  "versionStartIncluding": "5.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.70",
                  "versionStartIncluding": "5.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.9",
                  "versionStartIncluding": "5.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.13",
                  "versionStartIncluding": "5.19",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: wwan: t7xx: Fix FSM command timeout issue\n\nWhen driver processes the internal state change command, it use an\nasynchronous thread to process the command operation. If the main\nthread detects that the task has timed out, the asynchronous thread\nwill panic when executing the completion notification because the\nmain thread completion object has been released.\n\nBUG: unable to handle page fault for address: fffffffffffffff8\nPGD 1f283a067 P4D 1f283a067 PUD 1f283c067 PMD 0\nOops: 0000 [#1] PREEMPT SMP NOPTI\nRIP: 0010:complete_all+0x3e/0xa0\n[...]\nCall Trace:\n \u003cTASK\u003e\n ? __die_body+0x68/0xb0\n ? page_fault_oops+0x379/0x3e0\n ? exc_page_fault+0x69/0xa0\n ? asm_exc_page_fault+0x22/0x30\n ? complete_all+0x3e/0xa0\n fsm_main_thread+0xa3/0x9c0 [mtk_t7xx (HASH:1400 5)]\n ? __pfx_autoremove_wake_function+0x10/0x10\n kthread+0xd8/0x110\n ? __pfx_fsm_main_thread+0x10/0x10 [mtk_t7xx (HASH:1400 5)]\n ? __pfx_kthread+0x10/0x10\n ret_from_fork+0x38/0x50\n ? __pfx_kthread+0x10/0x10\n ret_from_fork_asm+0x1b/0x30\n \u003c/TASK\u003e\n[...]\nCR2: fffffffffffffff8\n---[ end trace 0000000000000000 ]---\n\nUse the reference counter to ensure safe release as Sergey suggests:\nhttps://lore.kernel.org/all/da90f64c-260a-4329-87bf-1f9ff20a5951@gmail.com/"
        }
      ],
      "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 `t7xx_fsm_append_cmd()` wait is entered only through host-local operations \u2014 the root-writable `t7xx_mode` sysfs reset attribute, PCI unbind/shutdown via `t7xx_md_exit()`, and runtime/system PM resume (`__t7xx_pci_pm_resume()`) driven by local packet transmission on the WWAN netdev. No remote peer data reaches the FSM command queue; the dpmaif RX packet path never touches this code.\nAC:L - The attacker controls both sides of the race \u2014 repeatedly driving device reset/resume queues an FSM_CMD_STOP/PRE_STOP behind an FSM thread that is deterministically stalled far past the 2000 ms `FSM_CMD_TIMEOUT_MS` (20 s in `wait_for_expected_dev_stage()` during modem reboot, 10 s + 45 s in `fsm_routine_exception()`), and the attempt can be retried indefinitely.\nPR:L - An unprivileged local user reaches the vulnerable wait via runtime PM: the modem autosuspends after `PM_AUTOSUSPEND_MS`, and any packet sent over the WWAN interface makes `t7xx_dpmaif_tx_hw_push_thread()`/NAPI call `pm_runtime_resume_and_get()`, entering `__t7xx_pci_pm_resume()` which issues `t7xx_send_fsm_command(FSM_CMD_STOP)` and `t7xx_pci_reprobe_early()`. No capability check gates that path.\nUI:N - The attacker performs the triggering reset/resume and the concurrent traffic itself; no victim must mount, open, or interact with anything.\nS:U - The stale-stack write and waitqueue walk corrupt kernel memory within the same host kernel security authority, with no hypervisor, IOMMU, or sandbox boundary crossed.\nC:H - `complete_all(cmd-\u003edone)` operates on a recycled kernel stack whose contents the attacker shapes with subsequent syscalls, so a crafted `struct completion` yields a controlled `swake_up_all_locked()` list walk and `curr-\u003etask` dereference \u2014 memory corruption leverageable for arbitrary kernel reads, matching the guidance that use-after-free-class corruption is High.\nI:H - The bug gives two write primitives into freed stack memory \u2014 `*cmd-\u003eret = result` and `x-\u003edone = UINT_MAX` plus the `list_del()` unlink inside `swake_up_all_locked()` \u2014 and a controlled `list_del` over attacker-planted `next`/`prev` pointers is a classic arbitrary-write and control-flow-hijack primitive.\nA:H - The commit message documents the concrete result: an unrecoverable page fault at `fffffffffffffff8` in `complete_all()` from `fsm_main_thread`, an oops that kills the FSM kthread and panics the kernel."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T11:33:21.093Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/b8ab9bd0c8855cd5a6f4e0265083576257ff3fc5"
        },
        {
          "url": "https://git.kernel.org/stable/c/0cd3bde081cd3452c875fa1e5c55834c670d6e05"
        },
        {
          "url": "https://git.kernel.org/stable/c/e6e6882a1590cbdaca77a31a02f4954327237e14"
        },
        {
          "url": "https://git.kernel.org/stable/c/4f619d518db9cd1a933c3a095a5f95d0c1584ae8"
        }
      ],
      "title": "net: wwan: t7xx: Fix FSM command timeout issue",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2024-39282",
    "datePublished": "2025-01-15T13:10:21.320Z",
    "dateReserved": "2025-01-15T13:08:59.721Z",
    "dateUpdated": "2026-08-05T11:33:21.093Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2"
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…