In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: Fix a buffer overflow in mgmtmeshadd()
Smatch Warning: net/bluetooth/mgmtutil.c:375 mgmtmesh_add() error: _memcpy() 'meshtx->param' too small (48 vs 50)
Analysis:
'meshtx->param' is array of size 48. This is the destination. u8 param[sizeof(struct mgmtcpmeshsend) + 29]; // 19 + 29 = 48.
But in the caller 'meshsend' we reject only when len > 50. len > (MGMTMESHSENDSIZE + 31) // 19 + 31 = 50.
{
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/49xxx/CVE-2022-49754.json"
}[
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"68075586121658984021972746468722855957",
"28407828366190251104625809664540434948",
"10382191470186506980669566179790045878",
"253707195200516899441193640025133333846"
]
},
"signature_version": "v1",
"deprecated": false,
"signature_type": "Line",
"id": "CVE-2022-49754-5f681e03",
"target": {
"file": "net/bluetooth/mgmt_util.h"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ed818fd8c531abf561b379995ee7cc4c68029464"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"68075586121658984021972746468722855957",
"28407828366190251104625809664540434948",
"10382191470186506980669566179790045878",
"253707195200516899441193640025133333846"
]
},
"signature_version": "v1",
"deprecated": false,
"signature_type": "Line",
"id": "CVE-2022-49754-828716ed",
"target": {
"file": "net/bluetooth/mgmt_util.h"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2185e0fdbb2137f22a9dd9fcbf6481400d56299b"
}
]
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-49754.json"