In the Linux kernel, the following vulnerability has been resolved:
usb: gadget: uvc: Fix ERRPTR dereference in uvcv4l2.c
Fix potential dereferencing of ERRPTR() in findformatbypix() and uvcv4l2enum_format().
Fix the following smatch errors:
drivers/usb/gadget/function/uvcv4l2.c:124 findformatbypix() error: 'fmtdesc' dereferencing possible ERR_PTR()
drivers/usb/gadget/function/uvcv4l2.c:392 uvcv4l2enumformat() error: 'fmtdesc' dereferencing possible ERR_PTR()
Also, fix similar issue in uvcv4l2tryformat() for potential dereferencing of ERRPTR().
[
{
"id": "CVE-2024-50056-070a385c",
"digest": {
"length": 276.0,
"function_hash": "131153302072897227857880158403222143392"
},
"signature_type": "Function",
"target": {
"file": "drivers/usb/gadget/function/uvc_v4l2.c",
"function": "find_format_by_pix"
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@03fa71e97e9bb116993ec1d51b8a6fe776db0984"
},
{
"id": "CVE-2024-50056-0e1d5d97",
"digest": {
"length": 394.0,
"function_hash": "338580752541902995159579349577196657342"
},
"signature_type": "Function",
"target": {
"file": "drivers/usb/gadget/function/uvc_v4l2.c",
"function": "uvc_v4l2_enum_format"
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@72a68d2bede3284b95ee93a5ab3a81758bba95b0"
},
{
"id": "CVE-2024-50056-177d3a9a",
"digest": {
"length": 1605.0,
"function_hash": "202978503115348264765589383338119195086"
},
"signature_type": "Function",
"target": {
"file": "drivers/usb/gadget/function/uvc_v4l2.c",
"function": "uvc_v4l2_try_format"
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cedeb36c3ff4acd0f3d09918dfd8ed1df05efdd6"
},
{
"id": "CVE-2024-50056-26e8e978",
"digest": {
"length": 1605.0,
"function_hash": "202978503115348264765589383338119195086"
},
"signature_type": "Function",
"target": {
"file": "drivers/usb/gadget/function/uvc_v4l2.c",
"function": "uvc_v4l2_try_format"
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a7bb96b18864225a694e3887ac2733159489e4b0"
},
{
"id": "CVE-2024-50056-3057c564",
"digest": {
"length": 1234.0,
"function_hash": "337079112367720655323321406389606133063"
},
"signature_type": "Function",
"target": {
"file": "drivers/usb/gadget/function/uvc_v4l2.c",
"function": "uvc_v4l2_try_format"
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@72a68d2bede3284b95ee93a5ab3a81758bba95b0"
},
{
"id": "CVE-2024-50056-65583997",
"digest": {
"length": 282.0,
"function_hash": "334318569329135328371529509805082996998"
},
"signature_type": "Function",
"target": {
"file": "drivers/usb/gadget/function/uvc_v4l2.c",
"function": "find_format_by_pix"
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a7bb96b18864225a694e3887ac2733159489e4b0"
},
{
"id": "CVE-2024-50056-6bea8484",
"digest": {
"length": 282.0,
"function_hash": "334318569329135328371529509805082996998"
},
"signature_type": "Function",
"target": {
"file": "drivers/usb/gadget/function/uvc_v4l2.c",
"function": "find_format_by_pix"
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cedeb36c3ff4acd0f3d09918dfd8ed1df05efdd6"
},
{
"id": "CVE-2024-50056-6f87929d",
"digest": {
"line_hashes": [
"266148113831712279397418697246046500794",
"147697246004318462474660611863542323004",
"91172223514776096175366800166132270779",
"57600941207158709214107698487397635444",
"316747961964079220694022335718651635944",
"3889071860402871054123205486051995183",
"165292160964265484937488335588177874022",
"308121111503709882200624691268816269586",
"24571711789468946464266378104901562073",
"14130907576460450565500093953293526300",
"106314021377222042493332118167042345685",
"316943683760401072774222456978301242450",
"200245948625507166921312767417266549536",
"255343678085282240481430950811899100571",
"217936948151757379569220554970024736662"
],
"threshold": 0.9
},
"signature_type": "Line",
"target": {
"file": "drivers/usb/gadget/function/uvc_v4l2.c"
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cedeb36c3ff4acd0f3d09918dfd8ed1df05efdd6"
},
{
"id": "CVE-2024-50056-6f89e98d",
"digest": {
"length": 282.0,
"function_hash": "334318569329135328371529509805082996998"
},
"signature_type": "Function",
"target": {
"file": "drivers/usb/gadget/function/uvc_v4l2.c",
"function": "find_format_by_pix"
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@72a68d2bede3284b95ee93a5ab3a81758bba95b0"
},
{
"id": "CVE-2024-50056-8a24aab2",
"digest": {
"line_hashes": [
"266148113831712279397418697246046500794",
"147697246004318462474660611863542323004",
"91172223514776096175366800166132270779",
"57600941207158709214107698487397635444",
"316747961964079220694022335718651635944",
"3889071860402871054123205486051995183",
"165292160964265484937488335588177874022",
"199508716079756975053790200622032003365",
"259930695408331716758481617558951183106",
"141107811564948419599439536680673652850",
"201944667775476388641372953674517769669",
"316943683760401072774222456978301242450",
"200245948625507166921312767417266549536",
"255343678085282240481430950811899100571",
"217936948151757379569220554970024736662"
],
"threshold": 0.9
},
"signature_type": "Line",
"target": {
"file": "drivers/usb/gadget/function/uvc_v4l2.c"
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@72a68d2bede3284b95ee93a5ab3a81758bba95b0"
},
{
"id": "CVE-2024-50056-9b26f72d",
"digest": {
"length": 617.0,
"function_hash": "129596696335952166574995640932510669142"
},
"signature_type": "Function",
"target": {
"file": "drivers/usb/gadget/function/uvc_v4l2.c",
"function": "uvc_v4l2_enum_format"
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@03fa71e97e9bb116993ec1d51b8a6fe776db0984"
},
{
"id": "CVE-2024-50056-a31a0483",
"digest": {
"length": 394.0,
"function_hash": "338580752541902995159579349577196657342"
},
"signature_type": "Function",
"target": {
"file": "drivers/usb/gadget/function/uvc_v4l2.c",
"function": "uvc_v4l2_enum_format"
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cedeb36c3ff4acd0f3d09918dfd8ed1df05efdd6"
},
{
"id": "CVE-2024-50056-b6488c85",
"digest": {
"line_hashes": [
"266148113831712279397418697246046500794",
"147697246004318462474660611863542323004",
"91172223514776096175366800166132270779",
"57600941207158709214107698487397635444",
"316747961964079220694022335718651635944",
"3889071860402871054123205486051995183",
"165292160964265484937488335588177874022",
"308121111503709882200624691268816269586",
"24571711789468946464266378104901562073",
"14130907576460450565500093953293526300",
"106314021377222042493332118167042345685",
"316943683760401072774222456978301242450",
"200245948625507166921312767417266549536",
"255343678085282240481430950811899100571",
"217936948151757379569220554970024736662"
],
"threshold": 0.9
},
"signature_type": "Line",
"target": {
"file": "drivers/usb/gadget/function/uvc_v4l2.c"
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a7bb96b18864225a694e3887ac2733159489e4b0"
},
{
"id": "CVE-2024-50056-c4a1f4cf",
"digest": {
"length": 1234.0,
"function_hash": "337079112367720655323321406389606133063"
},
"signature_type": "Function",
"target": {
"file": "drivers/usb/gadget/function/uvc_v4l2.c",
"function": "uvc_v4l2_try_format"
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@03fa71e97e9bb116993ec1d51b8a6fe776db0984"
},
{
"id": "CVE-2024-50056-ceb0b5c0",
"digest": {
"length": 394.0,
"function_hash": "338580752541902995159579349577196657342"
},
"signature_type": "Function",
"target": {
"file": "drivers/usb/gadget/function/uvc_v4l2.c",
"function": "uvc_v4l2_enum_format"
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a7bb96b18864225a694e3887ac2733159489e4b0"
},
{
"id": "CVE-2024-50056-fba6c41d",
"digest": {
"line_hashes": [
"126518543849344167694065857329070662695",
"136209650628697462773397946640297960699",
"39474558043742991217615810554274015155",
"57600941207158709214107698487397635444",
"316747961964079220694022335718651635944",
"3889071860402871054123205486051995183",
"165292160964265484937488335588177874022",
"199508716079756975053790200622032003365",
"259930695408331716758481617558951183106",
"141107811564948419599439536680673652850",
"201944667775476388641372953674517769669",
"161107707714293439795279776928845005372",
"199173813702706153396709692775370970224",
"105053823040448133503428225190377650245",
"12812410178858211172336148893370155835"
],
"threshold": 0.9
},
"signature_type": "Line",
"target": {
"file": "drivers/usb/gadget/function/uvc_v4l2.c"
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@03fa71e97e9bb116993ec1d51b8a6fe776db0984"
}
]