cve-2025-21650
Vulnerability from cvelistv5
Published
2025-01-19 10:18
Modified
2025-01-20 06:30
Severity ?
EPSS score ?
Summary
In the Linux kernel, the following vulnerability has been resolved:
net: hns3: fixed hclge_fetch_pf_reg accesses bar space out of bounds issue
The TQP BAR space is divided into two segments. TQPs 0-1023 and TQPs
1024-1279 are in different BAR space addresses. However,
hclge_fetch_pf_reg does not distinguish the tqp space information when
reading the tqp space information. When the number of TQPs is greater
than 1024, access bar space overwriting occurs.
The problem of different segments has been considered during the
initialization of tqp.io_base. Therefore, tqp.io_base is directly used
when the queue is read in hclge_fetch_pf_reg.
The error message:
Unable to handle kernel paging request at virtual address ffff800037200000
pc : hclge_fetch_pf_reg+0x138/0x250 [hclge]
lr : hclge_get_regs+0x84/0x1d0 [hclge]
Call trace:
hclge_fetch_pf_reg+0x138/0x250 [hclge]
hclge_get_regs+0x84/0x1d0 [hclge]
hns3_get_regs+0x2c/0x50 [hns3]
ethtool_get_regs+0xf4/0x270
dev_ethtool+0x674/0x8a0
dev_ioctl+0x270/0x36c
sock_do_ioctl+0x110/0x2a0
sock_ioctl+0x2ac/0x530
__arm64_sys_ioctl+0xa8/0x100
invoke_syscall+0x4c/0x124
el0_svc_common.constprop.0+0x140/0x15c
do_el0_svc+0x30/0xd0
el0_svc+0x1c/0x2c
el0_sync_handler+0xb0/0xb4
el0_sync+0x168/0x180
References
Impacted products
{ "containers": { "cna": { "affected": [ { "defaultStatus": "unaffected", "product": "Linux", "programFiles": [ "drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_regs.c", "drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_regs.c" ], "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "vendor": "Linux", "versions": [ { "lessThan": "0575baa733fc4219f230aef22d5bc35d922f1e9a", "status": "affected", "version": "939ccd107ffcade20c9c7055a2e7ae0fd724fb72", "versionType": "git" }, { "lessThan": "7997ddd46c54408bcba5e37fe18b4d832e45d4d4", "status": "affected", "version": "939ccd107ffcade20c9c7055a2e7ae0fd724fb72", "versionType": "git" } ] }, { "defaultStatus": "affected", "product": "Linux", "programFiles": [ "drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_regs.c", "drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_regs.c" ], "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "vendor": "Linux", "versions": [ { "status": "affected", "version": "6.6" }, { "lessThan": "6.6", "status": "unaffected", "version": "0", "versionType": "semver" }, { "lessThanOrEqual": "6.12.*", "status": "unaffected", "version": "6.12.10", "versionType": "semver" }, { "lessThanOrEqual": "*", "status": "unaffected", "version": "6.13", "versionType": "original_commit_for_fix" } ] } ], "descriptions": [ { "lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: hns3: fixed hclge_fetch_pf_reg accesses bar space out of bounds issue\n\nThe TQP BAR space is divided into two segments. TQPs 0-1023 and TQPs\n1024-1279 are in different BAR space addresses. However,\nhclge_fetch_pf_reg does not distinguish the tqp space information when\nreading the tqp space information. When the number of TQPs is greater\nthan 1024, access bar space overwriting occurs.\nThe problem of different segments has been considered during the\ninitialization of tqp.io_base. Therefore, tqp.io_base is directly used\nwhen the queue is read in hclge_fetch_pf_reg.\n\nThe error message:\n\nUnable to handle kernel paging request at virtual address ffff800037200000\npc : hclge_fetch_pf_reg+0x138/0x250 [hclge]\nlr : hclge_get_regs+0x84/0x1d0 [hclge]\nCall trace:\n hclge_fetch_pf_reg+0x138/0x250 [hclge]\n hclge_get_regs+0x84/0x1d0 [hclge]\n hns3_get_regs+0x2c/0x50 [hns3]\n ethtool_get_regs+0xf4/0x270\n dev_ethtool+0x674/0x8a0\n dev_ioctl+0x270/0x36c\n sock_do_ioctl+0x110/0x2a0\n sock_ioctl+0x2ac/0x530\n __arm64_sys_ioctl+0xa8/0x100\n invoke_syscall+0x4c/0x124\n el0_svc_common.constprop.0+0x140/0x15c\n do_el0_svc+0x30/0xd0\n el0_svc+0x1c/0x2c\n el0_sync_handler+0xb0/0xb4\n el0_sync+0x168/0x180" } ], "providerMetadata": { "dateUpdated": "2025-01-20T06:30:10.286Z", "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "shortName": "Linux" }, "references": [ { "url": "https://git.kernel.org/stable/c/0575baa733fc4219f230aef22d5bc35d922f1e9a" }, { "url": "https://git.kernel.org/stable/c/7997ddd46c54408bcba5e37fe18b4d832e45d4d4" } ], "title": "net: hns3: fixed hclge_fetch_pf_reg accesses bar space out of bounds issue", "x_generator": { "engine": "bippy-5f407fcff5a0" } } }, "cveMetadata": { "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "assignerShortName": "Linux", "cveId": "CVE-2025-21650", "datePublished": "2025-01-19T10:18:07.976Z", "dateReserved": "2024-12-29T08:45:45.728Z", "dateUpdated": "2025-01-20T06:30:10.286Z", "state": "PUBLISHED" }, "dataType": "CVE_RECORD", "dataVersion": "5.1", "vulnerability-lookup:meta": { "nvd": "{\"cve\":{\"id\":\"CVE-2025-21650\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-01-19T11:15:10.630\",\"lastModified\":\"2025-01-19T11:15:10.630\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nnet: hns3: fixed hclge_fetch_pf_reg accesses bar space out of bounds issue\\n\\nThe TQP BAR space is divided into two segments. TQPs 0-1023 and TQPs\\n1024-1279 are in different BAR space addresses. However,\\nhclge_fetch_pf_reg does not distinguish the tqp space information when\\nreading the tqp space information. When the number of TQPs is greater\\nthan 1024, access bar space overwriting occurs.\\nThe problem of different segments has been considered during the\\ninitialization of tqp.io_base. Therefore, tqp.io_base is directly used\\nwhen the queue is read in hclge_fetch_pf_reg.\\n\\nThe error message:\\n\\nUnable to handle kernel paging request at virtual address ffff800037200000\\npc : hclge_fetch_pf_reg+0x138/0x250 [hclge]\\nlr : hclge_get_regs+0x84/0x1d0 [hclge]\\nCall trace:\\n hclge_fetch_pf_reg+0x138/0x250 [hclge]\\n hclge_get_regs+0x84/0x1d0 [hclge]\\n hns3_get_regs+0x2c/0x50 [hns3]\\n ethtool_get_regs+0xf4/0x270\\n dev_ethtool+0x674/0x8a0\\n dev_ioctl+0x270/0x36c\\n sock_do_ioctl+0x110/0x2a0\\n sock_ioctl+0x2ac/0x530\\n __arm64_sys_ioctl+0xa8/0x100\\n invoke_syscall+0x4c/0x124\\n el0_svc_common.constprop.0+0x140/0x15c\\n do_el0_svc+0x30/0xd0\\n el0_svc+0x1c/0x2c\\n el0_sync_handler+0xb0/0xb4\\n el0_sync+0x168/0x180\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/0575baa733fc4219f230aef22d5bc35d922f1e9a\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/7997ddd46c54408bcba5e37fe18b4d832e45d4d4\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}" } }
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.