CVE-2023-52910
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
21/08/2024
Last modified:
12/09/2024
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
iommu/iova: Fix alloc iova overflows issue<br />
<br />
In __alloc_and_insert_iova_range, there is an issue that retry_pfn<br />
overflows. The value of iovad->anchor.pfn_hi is ~0UL, then when<br />
iovad->cached_node is iovad->anchor, curr_iova->pfn_hi + 1 will<br />
overflow. As a result, if the retry logic is executed, low_pfn is<br />
updated to 0, and then new_pfn cached_node is assigned as iovad->anchor. For<br />
example, the iova domain size is 10M, start_pfn is 0x1_F000_0000,<br />
and the iova size allocated for the first time is 11M. The<br />
following is the log information, new->pfn_lo is smaller than<br />
iovad->cached_node.<br />
<br />
Example log as follows:<br />
[ 223.798112][T1705487] sh: [name:iova&]__alloc_and_insert_iova_range<br />
start_pfn:0x1f0000,retry_pfn:0x0,size:0xb00,limit_pfn:0x1f0a00<br />
[ 223.799590][T1705487] sh: [name:iova&]__alloc_and_insert_iova_range<br />
success start_pfn:0x1f0000,new->pfn_lo:0x1efe00,new->pfn_hi:0x1f08ff<br />
<br />
2. The node with the largest iova->pfn_lo value in the iova domain<br />
is deleted, iovad->cached_node will be updated to iovad->anchor,<br />
and then the alloc iova size exceeds the maximum iova size that can<br />
be allocated in the domain.<br />
<br />
After judging that retry_pfn is less than limit_pfn, call retry_pfn+1<br />
to fix the overflow issue.
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
Vulnerable products and versions
CPE | From | Up to |
---|---|---|
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (including) | 5.15.89 (excluding) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 6.1.7 (excluding) |
cpe:2.3:o:linux:linux_kernel:6.2:rc1:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.2:rc2:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.2:rc3:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page