ghsa-5p5f-7gvx-g7qx
Vulnerability from github
Published
2025-10-01 12:30
Modified
2025-10-01 12:30
Details

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

wifi: ath11k: fix deinitialization of firmware resources

Currently, in ath11k_ahb_fw_resources_init(), iommu domain mapping is done only for the chipsets having fixed firmware memory. Also, for such chipsets, mapping is done only if it does not have TrustZone support.

During deinitialization, only if TrustZone support is not there, iommu is unmapped back. However, for non fixed firmware memory chipsets, TrustZone support is not there and this makes the condition check to true and it tries to unmap the memory which was not mapped during initialization.

This leads to the following trace -

[ 83.198790] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000008 [ 83.259537] Modules linked in: ath11k_ahb ath11k qmi_helpers .. snip .. [ 83.280286] pstate: 20000005 (nzCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 83.287228] pc : __iommu_unmap+0x30/0x140 [ 83.293907] lr : iommu_unmap+0x5c/0xa4 [ 83.298072] sp : ffff80000b3abad0 .. snip .. [ 83.369175] Call trace: [ 83.376282] __iommu_unmap+0x30/0x140 [ 83.378541] iommu_unmap+0x5c/0xa4 [ 83.382360] ath11k_ahb_fw_resource_deinit.part.12+0x2c/0xac [ath11k_ahb] [ 83.385666] ath11k_ahb_free_resources+0x140/0x17c [ath11k_ahb] [ 83.392521] ath11k_ahb_shutdown+0x34/0x40 [ath11k_ahb] [ 83.398248] platform_shutdown+0x20/0x2c [ 83.403455] device_shutdown+0x16c/0x1c4 [ 83.407621] kernel_restart_prepare+0x34/0x3c [ 83.411529] kernel_restart+0x14/0x74 [ 83.415781] __do_sys_reboot+0x1c4/0x22c [ 83.419427] __arm64_sys_reboot+0x1c/0x24 [ 83.423420] invoke_syscall+0x44/0xfc [ 83.427326] el0_svc_common.constprop.3+0xac/0xe8 [ 83.430974] do_el0_svc+0xa0/0xa8 [ 83.435659] el0_svc+0x1c/0x44 [ 83.438957] el0t_64_sync_handler+0x60/0x144 [ 83.441910] el0t_64_sync+0x15c/0x160 [ 83.446343] Code: aa0103f4 f9400001 f90027a1 d2800001 (f94006a0) [ 83.449903] ---[ end trace 0000000000000000 ]---

This can be reproduced by probing an AHB chipset which is not having a fixed memory region. During reboot (or rmmod) trace can be seen.

Fix this issue by adding a condition check on firmware fixed memory hw_param as done in the counter initialization function.

Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.7.0.1-01744-QCAHKSWPL_SILICONZ-1

Show details on source website


{
  "affected": [],
  "aliases": [
    "CVE-2023-53532"
  ],
  "database_specific": {
    "cwe_ids": [],
    "github_reviewed": false,
    "github_reviewed_at": null,
    "nvd_published_at": "2025-10-01T12:15:57Z",
    "severity": null
  },
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: ath11k: fix deinitialization of firmware resources\n\nCurrently, in ath11k_ahb_fw_resources_init(), iommu domain\nmapping is done only for the chipsets having fixed firmware\nmemory. Also, for such chipsets, mapping is done only if it\ndoes not have TrustZone support.\n\nDuring deinitialization, only if TrustZone support is not there,\niommu is unmapped back. However, for non fixed firmware memory\nchipsets, TrustZone support is not there and this makes the\ncondition check to true and it tries to unmap the memory which\nwas not mapped during initialization.\n\nThis leads to the following trace -\n\n[   83.198790] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000008\n[   83.259537] Modules linked in: ath11k_ahb ath11k qmi_helpers\n.. snip ..\n[   83.280286] pstate: 20000005 (nzCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)\n[   83.287228] pc : __iommu_unmap+0x30/0x140\n[   83.293907] lr : iommu_unmap+0x5c/0xa4\n[   83.298072] sp : ffff80000b3abad0\n.. snip ..\n[   83.369175] Call trace:\n[   83.376282]  __iommu_unmap+0x30/0x140\n[   83.378541]  iommu_unmap+0x5c/0xa4\n[   83.382360]  ath11k_ahb_fw_resource_deinit.part.12+0x2c/0xac [ath11k_ahb]\n[   83.385666]  ath11k_ahb_free_resources+0x140/0x17c [ath11k_ahb]\n[   83.392521]  ath11k_ahb_shutdown+0x34/0x40 [ath11k_ahb]\n[   83.398248]  platform_shutdown+0x20/0x2c\n[   83.403455]  device_shutdown+0x16c/0x1c4\n[   83.407621]  kernel_restart_prepare+0x34/0x3c\n[   83.411529]  kernel_restart+0x14/0x74\n[   83.415781]  __do_sys_reboot+0x1c4/0x22c\n[   83.419427]  __arm64_sys_reboot+0x1c/0x24\n[   83.423420]  invoke_syscall+0x44/0xfc\n[   83.427326]  el0_svc_common.constprop.3+0xac/0xe8\n[   83.430974]  do_el0_svc+0xa0/0xa8\n[   83.435659]  el0_svc+0x1c/0x44\n[   83.438957]  el0t_64_sync_handler+0x60/0x144\n[   83.441910]  el0t_64_sync+0x15c/0x160\n[   83.446343] Code: aa0103f4 f9400001 f90027a1 d2800001 (f94006a0)\n[   83.449903] ---[ end trace 0000000000000000 ]---\n\nThis can be reproduced by probing an AHB chipset which is not\nhaving a fixed memory region. During reboot (or rmmod) trace\ncan be seen.\n\nFix this issue by adding a condition check on firmware fixed memory\nhw_param as done in the counter initialization function.\n\nTested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.7.0.1-01744-QCAHKSWPL_SILICONZ-1",
  "id": "GHSA-5p5f-7gvx-g7qx",
  "modified": "2025-10-01T12:30:31Z",
  "published": "2025-10-01T12:30:31Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2023-53532"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/0324300dce3412d4737b4ec5898d0188495a7caa"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/5a78ac33e3cb8822da64dd1af196e83664b332b0"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/8faf862d81ab197757761e87d0a99fbb96ab2cf0"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/a1548363582a8066edd4986f839d785f13dda3aa"
    }
  ],
  "schema_version": "1.4.0",
  "severity": []
}


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.
  • 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…