In the Linux kernel, the following vulnerability has been resolved:
usb: gadget: userial: Add null pointer check in gserialresume
Consider a case where gserialdisconnect has already cleared gser->ioport. And if a wakeup interrupt triggers afterwards, gserialresume gets called, which will lead to accessing of gser->ioport and thus causing null pointer dereference.Add a null pointer check to prevent this.
Added a static spinlock to prevent gser->ioport from becoming null after the newly added check.
{
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/53xxx/CVE-2023-53551.json",
"cna_assigner": "Linux"
}"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2023-53551.json"
[
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3b24c980dc07be4550a9d1450ed7057f882530e5",
"deprecated": false,
"target": {
"file": "drivers/usb/gadget/function/u_serial.c"
},
"id": "CVE-2023-53551-0b1d1a7f",
"digest": {
"threshold": 0.9,
"line_hashes": [
"208099411771327220240453952542232319732",
"24424770348687152910744438513792269540",
"327285440004067331937781827886615140491",
"198666617210704406658436941102174273316",
"194261248060173155261610304371405682857",
"114516011962938593849502565165141051510",
"247269185270740713850814215325955184219",
"37776555038785162699629218737335024366",
"299529901025375434709298086222810639733",
"233950588176334021709844781630988333252",
"77854317841969486662625533003253258690",
"333197035631091087046363351874312410745",
"236769188511352101648992287124618505532",
"199580504973140943739965451383290655469",
"179059319561616162728249174923324644915",
"542618015509179892692615502640444150",
"38400299801207609814730461633727476023"
]
},
"signature_version": "v1",
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@44e004f757a7ae13dfebaadbcfdb1a6f98c10377",
"deprecated": false,
"target": {
"file": "drivers/usb/gadget/function/u_serial.c",
"function": "gserial_resume"
},
"id": "CVE-2023-53551-0d242198",
"digest": {
"function_hash": "247760229099979042753607317941354857467",
"length": 441.0
},
"signature_version": "v1",
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c5360eec648bd506afa304ae4a71f82e13d41897",
"deprecated": false,
"target": {
"file": "drivers/usb/gadget/function/u_serial.c"
},
"id": "CVE-2023-53551-1524c393",
"digest": {
"threshold": 0.9,
"line_hashes": [
"208099411771327220240453952542232319732",
"24424770348687152910744438513792269540",
"327285440004067331937781827886615140491",
"198666617210704406658436941102174273316",
"194261248060173155261610304371405682857",
"114516011962938593849502565165141051510",
"247269185270740713850814215325955184219",
"37776555038785162699629218737335024366",
"299529901025375434709298086222810639733",
"233950588176334021709844781630988333252",
"77854317841969486662625533003253258690",
"333197035631091087046363351874312410745",
"236769188511352101648992287124618505532",
"199580504973140943739965451383290655469",
"179059319561616162728249174923324644915",
"542618015509179892692615502640444150",
"38400299801207609814730461633727476023"
]
},
"signature_version": "v1",
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3b24c980dc07be4550a9d1450ed7057f882530e5",
"deprecated": false,
"target": {
"file": "drivers/usb/gadget/function/u_serial.c",
"function": "gserial_resume"
},
"id": "CVE-2023-53551-1d49c7bd",
"digest": {
"function_hash": "247760229099979042753607317941354857467",
"length": 441.0
},
"signature_version": "v1",
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c5360eec648bd506afa304ae4a71f82e13d41897",
"deprecated": false,
"target": {
"file": "drivers/usb/gadget/function/u_serial.c",
"function": "gserial_disconnect"
},
"id": "CVE-2023-53551-22bea506",
"digest": {
"function_hash": "101080403217306798946609004816786673029",
"length": 938.0
},
"signature_version": "v1",
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@44e004f757a7ae13dfebaadbcfdb1a6f98c10377",
"deprecated": false,
"target": {
"file": "drivers/usb/gadget/function/u_serial.c"
},
"id": "CVE-2023-53551-44e9a81d",
"digest": {
"threshold": 0.9,
"line_hashes": [
"208099411771327220240453952542232319732",
"24424770348687152910744438513792269540",
"327285440004067331937781827886615140491",
"198666617210704406658436941102174273316",
"194261248060173155261610304371405682857",
"114516011962938593849502565165141051510",
"247269185270740713850814215325955184219",
"37776555038785162699629218737335024366",
"299529901025375434709298086222810639733",
"233950588176334021709844781630988333252",
"77854317841969486662625533003253258690",
"333197035631091087046363351874312410745",
"236769188511352101648992287124618505532",
"199580504973140943739965451383290655469",
"179059319561616162728249174923324644915",
"542618015509179892692615502640444150",
"38400299801207609814730461633727476023"
]
},
"signature_version": "v1",
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ec357cd3e8af614855d286dd378725cdc7264df6",
"deprecated": false,
"target": {
"file": "drivers/usb/gadget/function/u_serial.c",
"function": "gserial_disconnect"
},
"id": "CVE-2023-53551-5a2e66fa",
"digest": {
"function_hash": "101080403217306798946609004816786673029",
"length": 938.0
},
"signature_version": "v1",
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ec357cd3e8af614855d286dd378725cdc7264df6",
"deprecated": false,
"target": {
"file": "drivers/usb/gadget/function/u_serial.c"
},
"id": "CVE-2023-53551-8765eb79",
"digest": {
"threshold": 0.9,
"line_hashes": [
"208099411771327220240453952542232319732",
"24424770348687152910744438513792269540",
"327285440004067331937781827886615140491",
"198666617210704406658436941102174273316",
"194261248060173155261610304371405682857",
"114516011962938593849502565165141051510",
"247269185270740713850814215325955184219",
"37776555038785162699629218737335024366",
"299529901025375434709298086222810639733",
"233950588176334021709844781630988333252",
"77854317841969486662625533003253258690",
"333197035631091087046363351874312410745",
"236769188511352101648992287124618505532",
"199580504973140943739965451383290655469",
"179059319561616162728249174923324644915",
"542618015509179892692615502640444150",
"38400299801207609814730461633727476023"
]
},
"signature_version": "v1",
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5ec63fdbca604568890c577753c6f66c5b3ef0b5",
"deprecated": false,
"target": {
"file": "drivers/usb/gadget/function/u_serial.c",
"function": "gserial_resume"
},
"id": "CVE-2023-53551-b436e28f",
"digest": {
"function_hash": "247760229099979042753607317941354857467",
"length": 441.0
},
"signature_version": "v1",
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5ec63fdbca604568890c577753c6f66c5b3ef0b5",
"deprecated": false,
"target": {
"file": "drivers/usb/gadget/function/u_serial.c"
},
"id": "CVE-2023-53551-c124ab80",
"digest": {
"threshold": 0.9,
"line_hashes": [
"208099411771327220240453952542232319732",
"24424770348687152910744438513792269540",
"327285440004067331937781827886615140491",
"198666617210704406658436941102174273316",
"194261248060173155261610304371405682857",
"114516011962938593849502565165141051510",
"247269185270740713850814215325955184219",
"37776555038785162699629218737335024366",
"299529901025375434709298086222810639733",
"233950588176334021709844781630988333252",
"77854317841969486662625533003253258690",
"333197035631091087046363351874312410745",
"236769188511352101648992287124618505532",
"199580504973140943739965451383290655469",
"179059319561616162728249174923324644915",
"542618015509179892692615502640444150",
"38400299801207609814730461633727476023"
]
},
"signature_version": "v1",
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@44e004f757a7ae13dfebaadbcfdb1a6f98c10377",
"deprecated": false,
"target": {
"file": "drivers/usb/gadget/function/u_serial.c",
"function": "gserial_disconnect"
},
"id": "CVE-2023-53551-d5f70365",
"digest": {
"function_hash": "101080403217306798946609004816786673029",
"length": 938.0
},
"signature_version": "v1",
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5ec63fdbca604568890c577753c6f66c5b3ef0b5",
"deprecated": false,
"target": {
"file": "drivers/usb/gadget/function/u_serial.c",
"function": "gserial_disconnect"
},
"id": "CVE-2023-53551-d6deb3a3",
"digest": {
"function_hash": "101080403217306798946609004816786673029",
"length": 938.0
},
"signature_version": "v1",
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c5360eec648bd506afa304ae4a71f82e13d41897",
"deprecated": false,
"target": {
"file": "drivers/usb/gadget/function/u_serial.c",
"function": "gserial_resume"
},
"id": "CVE-2023-53551-e260b5f7",
"digest": {
"function_hash": "247760229099979042753607317941354857467",
"length": 441.0
},
"signature_version": "v1",
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ec357cd3e8af614855d286dd378725cdc7264df6",
"deprecated": false,
"target": {
"file": "drivers/usb/gadget/function/u_serial.c",
"function": "gserial_resume"
},
"id": "CVE-2023-53551-ef2db210",
"digest": {
"function_hash": "247760229099979042753607317941354857467",
"length": 441.0
},
"signature_version": "v1",
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3b24c980dc07be4550a9d1450ed7057f882530e5",
"deprecated": false,
"target": {
"file": "drivers/usb/gadget/function/u_serial.c",
"function": "gserial_disconnect"
},
"id": "CVE-2023-53551-f96773aa",
"digest": {
"function_hash": "101080403217306798946609004816786673029",
"length": 938.0
},
"signature_version": "v1",
"signature_type": "Function"
}
]