« Volver al listado

CVE-2022-50716

Estado: AplazadaSin puntuar—

In the Linux kernel, the following vulnerability has been resolved:

wifi: ar5523: Fix use-after-free on ar5523_cmd() timed out

syzkaller reported use-after-free with the stack trace like below [1]:

In ar5523_probe(), ar5523_host_available() calls ar5523_cmd() as below (there are other functions which finally call ar5523_cmd()):

If ar5523_cmd() timed out, then ar5523_host_available() failed and ar5523_probe() freed the device structure. So, ar5523_cmd_tx_cb() might touch the freed structure.

This patch fixes this issue by canceling in-flight tx cmd if submitted urb timed out.

Detalles técnicos trazas, registros y código del informe original
[   38.960489][    C3] ==================================================================
[   38.963216][    C3] BUG: KASAN: use-after-free in ar5523_cmd_tx_cb+0x220/0x240
[   38.964950][    C3] Read of size 8 at addr ffff888048e03450 by task swapper/3/0
[   38.966363][    C3]
[   38.967053][    C3] CPU: 3 PID: 0 Comm: swapper/3 Not tainted 6.0.0-09039-ga6afa4199d3d-dirty #18
[   38.968464][    C3] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.0-1.fc36 04/01/2014
[   38.969959][    C3] Call Trace:
[   38.970841][    C3]  <IRQ>
[   38.971663][    C3]  dump_stack_lvl+0xfc/0x174
[   38.972620][    C3]  print_report.cold+0x2c3/0x752
[   38.973626][    C3]  ? ar5523_cmd_tx_cb+0x220/0x240
[   38.974644][    C3]  kasan_report+0xb1/0x1d0
[   38.975720][    C3]  ? ar5523_cmd_tx_cb+0x220/0x240
[   38.976831][    C3]  ar5523_cmd_tx_cb+0x220/0x240
[   38.978412][    C3]  __usb_hcd_giveback_urb+0x353/0x5b0
[   38.979755][    C3]  usb_hcd_giveback_urb+0x385/0x430
[   38.981266][    C3]  dummy_timer+0x140c/0x34e0
[   38.982925][    C3]  ? notifier_call_chain+0xb5/0x1e0
[   38.984761][    C3]  ? rcu_read_lock_sched_held+0xb/0x60
[   38.986242][    C3]  ? lock_release+0x51c/0x790
[   38.987323][    C3]  ? _raw_read_unlock_irqrestore+0x37/0x70
[   38.988483][    C3]  ? __wake_up_common_lock+0xde/0x130
[   38.989621][    C3]  ? reacquire_held_locks+0x4a0/0x4a0
[   38.990777][    C3]  ? lock_acquire+0x472/0x550
[   38.991919][    C3]  ? rcu_read_lock_sched_held+0xb/0x60
[   38.993138][    C3]  ? lock_acquire+0x472/0x550
[   38.994890][    C3]  ? dummy_urb_enqueue+0x860/0x860
[   38.996266][    C3]  ? do_raw_spin_unlock+0x16f/0x230
[   38.997670][    C3]  ? dummy_urb_enqueue+0x860/0x860
[   38.999116][    C3]  call_timer_fn+0x1a0/0x6a0
[   39.000668][    C3]  ? add_timer_on+0x4a0/0x4a0
[   39.002137][    C3]  ? reacquire_held_locks+0x4a0/0x4a0
[   39.003809][    C3]  ? __next_timer_interrupt+0x226/0x2a0
[   39.005509][    C3]  __run_timers.part.0+0x69a/0xac0
[   39.007025][    C3]  ? dummy_urb_enqueue+0x860/0x860
[   39.008716][    C3]  ? call_timer_fn+0x6a0/0x6a0
[   39.010254][    C3]  ? cpuacct_percpu_seq_show+0x10/0x10
[   39.011795][    C3]  ? kvm_sched_clock_read+0x14/0x40
[   39.013277][    C3]  ? sched_clock_cpu+0x69/0x2b0
[   39.014724][    C3]  run_timer_softirq+0xb6/0x1d0
[   39.016196][    C3]  __do_softirq+0x1d2/0x9be
[   39.017616][    C3]  __irq_exit_rcu+0xeb/0x190
[   39.019004][    C3]  irq_exit_rcu+0x5/0x20
[   39.020361][    C3]  sysvec_apic_timer_interrupt+0x8f/0xb0
[   39.021965][    C3]  </IRQ>
[   39.023237][    C3]  <TASK>

ar5523_probe()
-> ar5523_host_available()
   -> ar5523_cmd_read()
      -> ar5523_cmd()

CVSS

NVD no ha asignado puntuación CVSS a esta CVE (habitual desde el cambio de política de abril de 2026).

Probabilidad de explotación (EPSS)

EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).

Tecnologías afectadas (1)

⚠ Inferidas por IA a partir de la descripción — NVD aún no ha analizado esta CVE; no son CPE verificados.

Referencias

JSON original (NVD)

Mostrar
{
  "id": "CVE-2022-50716",
  "cveTags": [],
  "metrics": {},
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "b7d572e1871df06a96a1c9591c71c5494ff6b624",
              "lessThan": "c9ba3fbf6a488da6cad1d304c5234bd8d729eba3",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "b7d572e1871df06a96a1c9591c71c5494ff6b624",
              "lessThan": "340524ae7b53a72cf5d9e7bd7790433422b3b12f",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "b7d572e1871df06a96a1c9591c71c5494ff6b624",
              "lessThan": "6447beefd21326a3f4719ec2ea511df797f6c820",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "b7d572e1871df06a96a1c9591c71c5494ff6b624",
              "lessThan": "7360b323e0343ea099091d4ae09576dbe1f09516",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "b7d572e1871df06a96a1c9591c71c5494ff6b624",
              "lessThan": "8af52492717e3538eba3f81d012b1476af8a89a6",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "b7d572e1871df06a96a1c9591c71c5494ff6b624",
              "lessThan": "3eca9697c2f3905dea3ad2fc536ebaa1fbd735bd",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "b7d572e1871df06a96a1c9591c71c5494ff6b624",
              "lessThan": "601ae89375033ac4870c086e24ba03f235d38e55",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "b7d572e1871df06a96a1c9591c71c5494ff6b624",
              "lessThan": "9aef34e1ae35a87e5f6a22278c17823b7ce64c88",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "b7d572e1871df06a96a1c9591c71c5494ff6b624",
              "lessThan": "b6702a942a069c2a975478d719e98d83cdae1797",
              "versionType": "git"
            }
          ],
          "programFiles": [
            "drivers/net/wireless/ath/ar5523/ar5523.c"
          ],
          "defaultStatus": "unaffected"
        },
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "3.8"
            },
            {
              "status": "unaffected",
              "version": "0",
              "lessThan": "3.8",
              "versionType": "semver"
            },
            {
              "status": "unaffected",
              "version": "4.9.337",
              "versionType": "semver",
              "lessThanOrEqual": "4.9.*"
            },
            {
              "status": "unaffected",
              "version": "4.14.303",
              "versionType": "semver",
              "lessThanOrEqual": "4.14.*"
            },
            {
              "status": "unaffected",
              "version": "4.19.270",
              "versionType": "semver",
              "lessThanOrEqual": "4.19.*"
            },
            {
              "status": "unaffected",
              "version": "5.4.229",
              "versionType": "semver",
              "lessThanOrEqual": "5.4.*"
            },
            {
              "status": "unaffected",
              "version": "5.10.163",
              "versionType": "semver",
              "lessThanOrEqual": "5.10.*"
            },
            {
              "status": "unaffected",
              "version": "5.15.86",
              "versionType": "semver",
              "lessThanOrEqual": "5.15.*"
            },
            {
              "status": "unaffected",
              "version": "6.0.16",
              "versionType": "semver",
              "lessThanOrEqual": "6.0.*"
            },
            {
              "status": "unaffected",
              "version": "6.1.2",
              "versionType": "semver",
              "lessThanOrEqual": "6.1.*"
            },
            {
              "status": "unaffected",
              "version": "6.2",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ],
          "programFiles": [
            "drivers/net/wireless/ath/ar5523/ar5523.c"
          ],
          "defaultStatus": "affected"
        }
      ]
    }
  ],
  "published": "2025-12-24T13:15:58.253",
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/340524ae7b53a72cf5d9e7bd7790433422b3b12f",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/3eca9697c2f3905dea3ad2fc536ebaa1fbd735bd",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/601ae89375033ac4870c086e24ba03f235d38e55",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/6447beefd21326a3f4719ec2ea511df797f6c820",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/7360b323e0343ea099091d4ae09576dbe1f09516",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/8af52492717e3538eba3f81d012b1476af8a89a6",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/9aef34e1ae35a87e5f6a22278c17823b7ce64c88",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/b6702a942a069c2a975478d719e98d83cdae1797",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/c9ba3fbf6a488da6cad1d304c5234bd8d729eba3",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ],
  "vulnStatus": "Deferred",
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: ar5523: Fix use-after-free on ar5523_cmd() timed out\n\nsyzkaller reported use-after-free with the stack trace like below [1]:\n\n[   38.960489][    C3] ==================================================================\n[   38.963216][    C3] BUG: KASAN: use-after-free in ar5523_cmd_tx_cb+0x220/0x240\n[   38.964950][    C3] Read of size 8 at addr ffff888048e03450 by task swapper/3/0\n[   38.966363][    C3]\n[   38.967053][    C3] CPU: 3 PID: 0 Comm: swapper/3 Not tainted 6.0.0-09039-ga6afa4199d3d-dirty #18\n[   38.968464][    C3] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.0-1.fc36 04/01/2014\n[   38.969959][    C3] Call Trace:\n[   38.970841][    C3]  <IRQ>\n[   38.971663][    C3]  dump_stack_lvl+0xfc/0x174\n[   38.972620][    C3]  print_report.cold+0x2c3/0x752\n[   38.973626][    C3]  ? ar5523_cmd_tx_cb+0x220/0x240\n[   38.974644][    C3]  kasan_report+0xb1/0x1d0\n[   38.975720][    C3]  ? ar5523_cmd_tx_cb+0x220/0x240\n[   38.976831][    C3]  ar5523_cmd_tx_cb+0x220/0x240\n[   38.978412][    C3]  __usb_hcd_giveback_urb+0x353/0x5b0\n[   38.979755][    C3]  usb_hcd_giveback_urb+0x385/0x430\n[   38.981266][    C3]  dummy_timer+0x140c/0x34e0\n[   38.982925][    C3]  ? notifier_call_chain+0xb5/0x1e0\n[   38.984761][    C3]  ? rcu_read_lock_sched_held+0xb/0x60\n[   38.986242][    C3]  ? lock_release+0x51c/0x790\n[   38.987323][    C3]  ? _raw_read_unlock_irqrestore+0x37/0x70\n[   38.988483][    C3]  ? __wake_up_common_lock+0xde/0x130\n[   38.989621][    C3]  ? reacquire_held_locks+0x4a0/0x4a0\n[   38.990777][    C3]  ? lock_acquire+0x472/0x550\n[   38.991919][    C3]  ? rcu_read_lock_sched_held+0xb/0x60\n[   38.993138][    C3]  ? lock_acquire+0x472/0x550\n[   38.994890][    C3]  ? dummy_urb_enqueue+0x860/0x860\n[   38.996266][    C3]  ? do_raw_spin_unlock+0x16f/0x230\n[   38.997670][    C3]  ? dummy_urb_enqueue+0x860/0x860\n[   38.999116][    C3]  call_timer_fn+0x1a0/0x6a0\n[   39.000668][    C3]  ? add_timer_on+0x4a0/0x4a0\n[   39.002137][    C3]  ? reacquire_held_locks+0x4a0/0x4a0\n[   39.003809][    C3]  ? __next_timer_interrupt+0x226/0x2a0\n[   39.005509][    C3]  __run_timers.part.0+0x69a/0xac0\n[   39.007025][    C3]  ? dummy_urb_enqueue+0x860/0x860\n[   39.008716][    C3]  ? call_timer_fn+0x6a0/0x6a0\n[   39.010254][    C3]  ? cpuacct_percpu_seq_show+0x10/0x10\n[   39.011795][    C3]  ? kvm_sched_clock_read+0x14/0x40\n[   39.013277][    C3]  ? sched_clock_cpu+0x69/0x2b0\n[   39.014724][    C3]  run_timer_softirq+0xb6/0x1d0\n[   39.016196][    C3]  __do_softirq+0x1d2/0x9be\n[   39.017616][    C3]  __irq_exit_rcu+0xeb/0x190\n[   39.019004][    C3]  irq_exit_rcu+0x5/0x20\n[   39.020361][    C3]  sysvec_apic_timer_interrupt+0x8f/0xb0\n[   39.021965][    C3]  </IRQ>\n[   39.023237][    C3]  <TASK>\n\nIn ar5523_probe(), ar5523_host_available() calls ar5523_cmd() as below\n(there are other functions which finally call ar5523_cmd()):\n\nar5523_probe()\n-> ar5523_host_available()\n   -> ar5523_cmd_read()\n      -> ar5523_cmd()\n\nIf ar5523_cmd() timed out, then ar5523_host_available() failed and\nar5523_probe() freed the device structure.  So, ar5523_cmd_tx_cb()\nmight touch the freed structure.\n\nThis patch fixes this issue by canceling in-flight tx cmd if submitted\nurb timed out."
    }
  ],
  "lastModified": "2026-06-17T05:24:03.417",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}