In the Linux kernel, the following vulnerability has been resolved:
ALSA: usb-audio: Fix potential memory leaks
When the driver hits -ENOMEM at allocating a URB or a buffer, it aborts and goes to the error path that releases the all previously allocated resources. However, when -ENOMEM hits at the middle of the sync EP URB allocation loop, the partially allocated URBs might be left without released, because ep->nurbs is still zero at that point.
Fix it by setting ep->nurbs at first, so that the error handler loops over the full URB list.
{
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/50xxx/CVE-2022-50484.json"
}[
{
"digest": {
"line_hashes": [
"85474043097180736319407998329052934427",
"15932979814912768319328341219373372857",
"142831384626653916608107235666639625037",
"277866348537149821618018232898901117752",
"141042831769447727442225012564261182178",
"193080502480411404200534390194979345557",
"116968077092792831794734659060646627683"
],
"threshold": 0.9
},
"target": {
"file": "sound/usb/endpoint.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@faa8c1ed77d0169955b9b3516b714cc5fb512f27",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Line",
"id": "CVE-2022-50484-30c31ded"
},
{
"digest": {
"line_hashes": [
"85474043097180736319407998329052934427",
"15932979814912768319328341219373372857",
"142831384626653916608107235666639625037",
"277866348537149821618018232898901117752",
"141042831769447727442225012564261182178",
"193080502480411404200534390194979345557",
"110789546695873416199686536630129039881"
],
"threshold": 0.9
},
"target": {
"file": "sound/usb/endpoint.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@988ec0cd0a2643c25c1658f7c33de2e15a5a2e31",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Line",
"id": "CVE-2022-50484-3e7ee66f"
},
{
"digest": {
"function_hash": "179296222650039646989283112820368705843",
"length": 962.0
},
"target": {
"file": "sound/usb/endpoint.c",
"function": "sync_ep_set_params"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0604e5e5537af099ea2f6dfd892afe5c92db8a80",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function",
"id": "CVE-2022-50484-56e59b66"
},
{
"digest": {
"line_hashes": [
"85474043097180736319407998329052934427",
"15932979814912768319328341219373372857",
"142831384626653916608107235666639625037",
"277866348537149821618018232898901117752",
"141042831769447727442225012564261182178",
"193080502480411404200534390194979345557",
"110789546695873416199686536630129039881"
],
"threshold": 0.9
},
"target": {
"file": "sound/usb/endpoint.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@46f0aed47673e275d682af60ed26dcc28add8eae",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Line",
"id": "CVE-2022-50484-58fb2e6b"
},
{
"digest": {
"line_hashes": [
"85474043097180736319407998329052934427",
"15932979814912768319328341219373372857",
"142831384626653916608107235666639625037",
"277866348537149821618018232898901117752",
"141042831769447727442225012564261182178",
"193080502480411404200534390194979345557",
"116968077092792831794734659060646627683"
],
"threshold": 0.9
},
"target": {
"file": "sound/usb/endpoint.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0672215994e2347a9b4f145e2bc1709b1e01cee3",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Line",
"id": "CVE-2022-50484-69233f0d"
},
{
"digest": {
"function_hash": "179296222650039646989283112820368705843",
"length": 962.0
},
"target": {
"file": "sound/usb/endpoint.c",
"function": "sync_ep_set_params"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@988ec0cd0a2643c25c1658f7c33de2e15a5a2e31",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function",
"id": "CVE-2022-50484-7946fbd3"
},
{
"digest": {
"function_hash": "179296222650039646989283112820368705843",
"length": 962.0
},
"target": {
"file": "sound/usb/endpoint.c",
"function": "sync_ep_set_params"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@46f0aed47673e275d682af60ed26dcc28add8eae",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function",
"id": "CVE-2022-50484-7a7908dd"
},
{
"digest": {
"line_hashes": [
"85474043097180736319407998329052934427",
"15932979814912768319328341219373372857",
"142831384626653916608107235666639625037",
"277866348537149821618018232898901117752",
"141042831769447727442225012564261182178",
"193080502480411404200534390194979345557",
"110789546695873416199686536630129039881"
],
"threshold": 0.9
},
"target": {
"file": "sound/usb/endpoint.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0604e5e5537af099ea2f6dfd892afe5c92db8a80",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Line",
"id": "CVE-2022-50484-7bc3e313"
},
{
"digest": {
"function_hash": "205683717425529642613968492252510351272",
"length": 1087.0
},
"target": {
"file": "sound/usb/endpoint.c",
"function": "sync_ep_set_params"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0672215994e2347a9b4f145e2bc1709b1e01cee3",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function",
"id": "CVE-2022-50484-7bc5633e"
},
{
"digest": {
"line_hashes": [
"85474043097180736319407998329052934427",
"15932979814912768319328341219373372857",
"142831384626653916608107235666639625037",
"277866348537149821618018232898901117752",
"141042831769447727442225012564261182178",
"193080502480411404200534390194979345557",
"116968077092792831794734659060646627683"
],
"threshold": 0.9
},
"target": {
"file": "sound/usb/endpoint.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6382da0828995af87aa8b8bef28cc61aceb4aff3",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Line",
"id": "CVE-2022-50484-81745be5"
},
{
"digest": {
"function_hash": "205683717425529642613968492252510351272",
"length": 1087.0
},
"target": {
"file": "sound/usb/endpoint.c",
"function": "sync_ep_set_params"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6382da0828995af87aa8b8bef28cc61aceb4aff3",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function",
"id": "CVE-2022-50484-963ef196"
},
{
"digest": {
"function_hash": "205683717425529642613968492252510351272",
"length": 1087.0
},
"target": {
"file": "sound/usb/endpoint.c",
"function": "sync_ep_set_params"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e4442410f76d66b9f7e854010bce04853f665324",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function",
"id": "CVE-2022-50484-9df206aa"
},
{
"digest": {
"line_hashes": [
"85474043097180736319407998329052934427",
"15932979814912768319328341219373372857",
"142831384626653916608107235666639625037",
"277866348537149821618018232898901117752",
"141042831769447727442225012564261182178",
"193080502480411404200534390194979345557",
"110789546695873416199686536630129039881"
],
"threshold": 0.9
},
"target": {
"file": "sound/usb/endpoint.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@28d8d267af5d73f91d7640cbdb4024703256e36c",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Line",
"id": "CVE-2022-50484-ab6bd466"
},
{
"digest": {
"line_hashes": [
"85474043097180736319407998329052934427",
"15932979814912768319328341219373372857",
"142831384626653916608107235666639625037",
"277866348537149821618018232898901117752",
"141042831769447727442225012564261182178",
"193080502480411404200534390194979345557",
"116968077092792831794734659060646627683"
],
"threshold": 0.9
},
"target": {
"file": "sound/usb/endpoint.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e4442410f76d66b9f7e854010bce04853f665324",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Line",
"id": "CVE-2022-50484-ad7161f2"
},
{
"digest": {
"function_hash": "205683717425529642613968492252510351272",
"length": 1087.0
},
"target": {
"file": "sound/usb/endpoint.c",
"function": "sync_ep_set_params"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@faa8c1ed77d0169955b9b3516b714cc5fb512f27",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function",
"id": "CVE-2022-50484-b2146d08"
},
{
"digest": {
"line_hashes": [
"85474043097180736319407998329052934427",
"15932979814912768319328341219373372857",
"142831384626653916608107235666639625037",
"277866348537149821618018232898901117752",
"141042831769447727442225012564261182178",
"193080502480411404200534390194979345557",
"110789546695873416199686536630129039881"
],
"threshold": 0.9
},
"target": {
"file": "sound/usb/endpoint.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@bc1d16d282bca421c6fc31de4b8fd412010f01bd",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Line",
"id": "CVE-2022-50484-d3279600"
},
{
"digest": {
"function_hash": "179296222650039646989283112820368705843",
"length": 962.0
},
"target": {
"file": "sound/usb/endpoint.c",
"function": "sync_ep_set_params"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@28d8d267af5d73f91d7640cbdb4024703256e36c",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function",
"id": "CVE-2022-50484-de385415"
},
{
"digest": {
"function_hash": "179296222650039646989283112820368705843",
"length": 962.0
},
"target": {
"file": "sound/usb/endpoint.c",
"function": "sync_ep_set_params"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@bc1d16d282bca421c6fc31de4b8fd412010f01bd",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function",
"id": "CVE-2022-50484-f9da8c1b"
}
]