漏洞信息
# net:lan743x:修复lan743x_ptp_io_event_clock_get()中的潜在越界写漏洞
## 漏洞概述
在Linux内核中,`lan743x_ptp_io_event_clock_get()`函数存在潜在的越界写入问题。虽然在调用此函数之前,传入的`channel`值会被检查是否超出最大值PCI11X1X_PTP_IO_MAX_CHANNELS(8),但函数内部使用`channel`作为索引写入`ptp->extts[]`数组时,数组仅包含LAN743X_PTP_N_EXTTS(4)个元素,从而可能导致越界写入。
## 影响版本
未明确指出具体影响版本,推测影响使用`lan743x`驱动的Linux内核版本。
## 细节
`lan743x_ptp_io_event_clock_get()`函数如下:
```c
lan743x_ptp_io_event_clock_get(..., u8 channel,...)
{
...
/* Update Local timestamp */
extts = &ptp->extts[channel];
extts->ts.tv_sec = sec;
...
}
```
此函数使用`channel`作为索引来访问`ptp->extts[]`数组。因`ptp->extts[]`数组长度设置为LAN743X_PTP_N_EXTTS(4),若`channel`值大于等于4,会导致越界写入。
## 影响
修复此漏洞可通过将LAN743X_PTP_N_EXTTS设置为8,以匹配最大通道数PCI11X1X_PTP_IO_MAX_CHANNELS(8),从而解决越界写入问题。此问题可能造成数据损坏或潜在的安全风险。使用静态分析工具Svace检测到了这一问题。
提示
尽管我们采用了先进的大模型技术,但其输出仍可能包含不准确或过时的信息。
神龙会尽力确保数据准确,但也请结合实际情况进行甄别与判断。
神龙祝您一切顺利!
漏洞标题
net: lan743x: fix potential out-of-bounds write in lan743x_ptp_io_event_clock_get()
漏洞描述信息
In the Linux kernel, the following vulnerability has been resolved:
net: lan743x: fix potential out-of-bounds write in lan743x_ptp_io_event_clock_get()
Before calling lan743x_ptp_io_event_clock_get(), the 'channel' value
is checked against the maximum value of PCI11X1X_PTP_IO_MAX_CHANNELS(8).
This seems correct and aligns with the PTP interrupt status register
(PTP_INT_STS) specifications.
However, lan743x_ptp_io_event_clock_get() writes to ptp->extts[] with
only LAN743X_PTP_N_EXTTS(4) elements, using channel as an index:
lan743x_ptp_io_event_clock_get(..., u8 channel,...)
{
...
/* Update Local timestamp */
extts = &ptp->extts[channel];
extts->ts.tv_sec = sec;
...
}
To avoid an out-of-bounds write and utilize all the supported GPIO
inputs, set LAN743X_PTP_N_EXTTS to 8.
Detected using the static analysis tool - Svace.
CVSS信息
N/A
漏洞类别
N/A
漏洞标题
Linux kernel 安全漏洞
漏洞描述信息
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于越界写入,可能导致内存损坏。
CVSS信息
N/A
漏洞类别
其他