sfc: fix crash when reading stats while NIC is resetting
In the Linux kernel, the following vulnerability has been resolved: sfc: fix crash when reading stats while NIC is resetting efx_net_stats() (.ndo_get_stats64) can be called during an ethtool selftest, during which time nic_data->mc_stats is NULL as the NIC has been fini'd. In this case do not attempt to fetch the latest stats from the hardware, else we will crash on a NULL dereference: BUG: kernel NULL pointer dereference, address: 0000000000000038 RIP efx_nic_update_stats abridged calltrace: efx_ef10_update_stats_pf efx_net_stats dev_get_stats dev_seq_printf_stats Skipping the read is safe, we will simply give out stale stats. To ensure that the free in efx_ef10_fini_nic() does not race against efx_ef10_update_stats_pf(), which could cause a TOCTTOU bug, take the efx->stats_lock in fini_nic (it is already held across update_stats).
CVE-2023-54156
Primary source · Revision 1
Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.
Security context
Source reference: cve:CVE-2023-54156
Linux
Source reference: /containers/cna/affected/0/product
- Affected versions
- Not stated in this record
- Fixed versions
- Not stated in this record
- Prerequisites
- Not stated in this record
Linux
Source reference: /containers/cna/affected/1/product
- Affected versions
- Not stated in this record
- Fixed versions
- Not stated in this record
- Prerequisites
- Not stated in this record
Structured affected-version data
Original package identities and version rules from this source.
[
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "d3142c193dca9a2f6878f4128ce1aaf221bb3f99",
"lessThan": "cb1aa7cc562cab6a87ea33574c8c65f2d2fd7aeb",
"versionType": "git"
},
{
"status": "affected",
"version": "d3142c193dca9a2f6878f4128ce1aaf221bb3f99",
"lessThan": "91f4ef204e731565afdc6c2a7fcf509a3fd6fd67",
"versionType": "git"
},
{
"status": "affected",
"version": "d3142c193dca9a2f6878f4128ce1aaf221bb3f99",
"lessThan": "446f5567934331923d0aec4ce045e4ecb0174aae",
"versionType": "git"
},
{
"status": "affected",
"version": "d3142c193dca9a2f6878f4128ce1aaf221bb3f99",
"lessThan": "470152d76b3ed107d172ea46acc4bfa941f20b4b",
"versionType": "git"
},
{
"status": "affected",
"version": "d3142c193dca9a2f6878f4128ce1aaf221bb3f99",
"lessThan": "aba32b4c58112960c0c708703ca6b44dc8944082",
"versionType": "git"
},
{
"status": "affected",
"version": "d3142c193dca9a2f6878f4128ce1aaf221bb3f99",
"lessThan": "d1b355438b8325a486f087e506d412c4e852f37b",
"versionType": "git"
}
],
"programFiles": [
"drivers/net/ethernet/sfc/ef10.c"
],
"defaultStatus": "unaffected"
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "5.9"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "5.9",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "5.10.188",
"versionType": "semver",
"lessThanOrEqual": "5.10.*"
},
{
"status": "unaffected",
"version": "5.15.121",
"versionType": "semver",
"lessThanOrEqual": "5.15.*"
},
{
"status": "unaffected",
"version": "6.1.39",
"versionType": "semver",
"lessThanOrEqual": "6.1.*"
},
{
"status": "unaffected",
"version": "6.3.13",
"versionType": "semver",
"lessThanOrEqual": "6.3.*"
},
{
"status": "unaffected",
"version": "6.4.4",
"versionType": "semver",
"lessThanOrEqual": "6.4.*"
},
{
"status": "unaffected",
"version": "6.5",
"versionType": "original_commit_for_fix",
"lessThanOrEqual": "*"
}
],
"programFiles": [
"drivers/net/ethernet/sfc/ef10.c"
],
"defaultStatus": "affected"
}
]- Related CVEs
- CVE-2023-54156
Source reference:
/cveMetadata/cveId
Publisher severity
high
Source reference: /containers/cna/metrics
- Event
- #30351 · Revision 1
- Added to Heist Feed
- Publisher date