CVE-2023-53026

Source
https://cve.org/CVERecord?id=CVE-2023-53026
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2023-53026.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2023-53026
Downstream
Related
Published
2025-03-27T16:43:51.194Z
Modified
2026-03-12T03:27:55.302044Z
Severity
  • 5.5 (Medium) CVSS_V3 - CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H CVSS Calculator
Summary
RDMA/core: Fix ib block iterator counter overflow
Details

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

RDMA/core: Fix ib block iterator counter overflow

When registering a new DMA MR after selecting the best aligned page size for it, we iterate over the given sglist to split each entry to smaller, aligned to the selected page size, DMA blocks.

In given circumstances where the sg entry and page size fit certain sizes and the sg entry is not aligned to the selected page size, the total size of the aligned pages we need to cover the sg entry is >= 4GB. Under this circumstances, while iterating page aligned blocks, the counter responsible for counting how much we advanced from the start of the sg entry is overflowed because its type is u32 and we pass 4GB in size. This can lead to an infinite loop inside the iterator function because the overflow prevents the counter to be larger than the size of the sg entry.

Fix the presented problem by changing the advancement condition to eliminate overflow.

Backtrace: [ 192.374329] efaregusermrdmabuf [ 192.376783] efaregistermr [ 192.382579] pgszbitmap 0xfffff000 rounddown 0x80000000 [ 192.386423] pgsz [0x80000000] umemlength[0xc0000000] [ 192.392657] start 0x0 length 0xc0000000 params.pageshift 31 params.pagenum 3 [ 192.399559] hpcnt[3], pagesinhp[524288] [ 192.403690] umem->sgtappend.sgt.nents[1] [ 192.407905] number entries: [1], pgbit: [31] [ 192.411397] biter->__sg_nents [1] biter->__sg [0000000008b0c5d8] [ 192.415601] biter->__sgadvance [665837568] sgdma_len[3221225472] [ 192.419823] biter->__sg_nents [1] biter->__sg [0000000008b0c5d8] [ 192.423976] biter->__sgadvance [2813321216] sgdma_len[3221225472] [ 192.428243] biter->__sgnents [1] biter->sg [0000000008b0c5d8] [ 192.432397] biter->sgadvance [665837568] sgdmalen[3221225472]

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/53xxx/CVE-2023-53026.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
a808273a495c657e33281b181fd7fcc2bb28f662
Fixed
902063a9fea5f8252df392ade746bc9cfd07a5ae
Fixed
d66c1d4178c219b6e7d7a6f714e3e3656faccc36
Fixed
362c9489720b31b6aa7491423ba65a4e98aa9838
Fixed
43811d07ea64366af8ec9e168c558ec51440c39e
Fixed
0afec5e9cea732cb47014655685a2a47fb180c31

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2023-53026.json"