In the Linux kernel, the following vulnerability has been resolved:
video/aperture: optionally match the device in sysfb_disable()
In apertureremoveconflictingpcidevices(), we currently only call sysfb_disable() on vga class devices. This leads to the following problem when the pimary device is not VGA compatible:
Fix this by passing a device pointer to sysfb_disable() and checking the device to determine if we should execute it or not.
v2: Fix build when CONFIGSCREENINFO is not set v3: Move device check into the mutex Drop primary variable in apertureremoveconflictingpcidevices() Drop _init on pci sysfbpcidevis_enabled()
[
{
"deprecated": false,
"target": {
"file": "drivers/firmware/sysfb.c"
},
"signature_type": "Line",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b49420d6a1aeb399e5b107fc6eb8584d0860fbd7",
"id": "CVE-2024-46698-05638966",
"digest": {
"threshold": 0.9,
"line_hashes": [
"69154778647135137465450495889694265856",
"193142902778204317471148481733218311927",
"296203865144391124717029856306535165107",
"54729718986261683596397303395104333141",
"317505505083202740719898535931930823055",
"112005665247228387083674232565257210470",
"159916974469948740973571710784956225720",
"159389953148249711249675094403902007336",
"106663588019732639964923785690484488463",
"176940612726336902654580176080388630271",
"144720830711433650768327115356766184950",
"35407432979329228019420337472918062641",
"9114908829766556045035373431421682892",
"197190453994626418451241030572098485481",
"84029891101163211383227342645907529456",
"225892335836122038681086576577723728793",
"276598018388504037086270764410884821867",
"124633719507740399828202178935284474227",
"163315584522832890127865323145009872393",
"276021061209053776616006129590071935185",
"232622969128715108369066946318162696697",
"122962891440815052844631029594402045923",
"213571687472258146937256079773193447013",
"183347866187449072821228373730442644136",
"113804618413109015066719461276795976570"
]
}
},
{
"deprecated": false,
"target": {
"file": "drivers/video/aperture.c",
"function": "aperture_remove_conflicting_devices"
},
"signature_type": "Function",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b49420d6a1aeb399e5b107fc6eb8584d0860fbd7",
"id": "CVE-2024-46698-119eee88",
"digest": {
"function_hash": "93866379139961094273216090309388934916",
"length": 125.0
}
},
{
"deprecated": false,
"target": {
"file": "drivers/video/aperture.c"
},
"signature_type": "Line",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b49420d6a1aeb399e5b107fc6eb8584d0860fbd7",
"id": "CVE-2024-46698-1f11e305",
"digest": {
"threshold": 0.9,
"line_hashes": [
"51921641552050577281655880236739004773",
"139684933092827572598174954158630830146",
"285060739360411060707900461026338258868",
"143562775861208746487572195028344036429",
"328109047970656890727737548542918720415",
"122625449645495110651074956457279271284",
"282089454521411425216017387689349963451",
"80649493203736484047928210804646254688",
"293603769862029331333927831072164057309",
"324065639251947806011694912127121456196",
"256808037238643496429047321556796093792",
"201440998030779440273832931589763284779",
"74685712713689613757465423672143563319",
"257250214180215117573368159710498096030",
"64728569876750425052076698969100526306",
"85918586702856629651359333514555563404",
"156587605973090304966629453117271204515",
"173320009798800469399612012875637282813"
]
}
},
{
"deprecated": false,
"target": {
"file": "drivers/of/platform.c",
"function": "of_platform_default_populate_init"
},
"signature_type": "Function",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b49420d6a1aeb399e5b107fc6eb8584d0860fbd7",
"id": "CVE-2024-46698-486d3c7a",
"digest": {
"function_hash": "332471927197858891935964547882680742421",
"length": 1369.0
}
},
{
"deprecated": false,
"target": {
"file": "include/linux/sysfb.h"
},
"signature_type": "Line",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b49420d6a1aeb399e5b107fc6eb8584d0860fbd7",
"id": "CVE-2024-46698-551e80ad",
"digest": {
"threshold": 0.9,
"line_hashes": [
"11251348864940211833608485298361517361",
"326322444719739610487206158487798469256",
"42582018352655481918553263319560399130",
"189098380140518830239201006721056055106",
"131126356552545113661078811831245411502",
"20781836009009962369869595290833948280"
]
}
},
{
"deprecated": false,
"target": {
"file": "drivers/firmware/sysfb.c",
"function": "sysfb_disable"
},
"signature_type": "Function",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b49420d6a1aeb399e5b107fc6eb8584d0860fbd7",
"id": "CVE-2024-46698-82dd6842",
"digest": {
"function_hash": "252505858744685253363105373071358279191",
"length": 121.0
}
},
{
"deprecated": false,
"target": {
"file": "drivers/firmware/sysfb.c"
},
"signature_type": "Line",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@17e78f43de0c6da34204cc858b4cc05671ea9acf",
"id": "CVE-2024-46698-9522a305",
"digest": {
"threshold": 0.9,
"line_hashes": [
"69154778647135137465450495889694265856",
"193142902778204317471148481733218311927",
"296203865144391124717029856306535165107",
"54729718986261683596397303395104333141",
"317505505083202740719898535931930823055",
"112005665247228387083674232565257210470",
"159916974469948740973571710784956225720",
"159389953148249711249675094403902007336",
"106663588019732639964923785690484488463",
"176940612726336902654580176080388630271",
"144720830711433650768327115356766184950",
"35407432979329228019420337472918062641",
"9114908829766556045035373431421682892",
"197190453994626418451241030572098485481",
"84029891101163211383227342645907529456",
"225892335836122038681086576577723728793",
"276598018388504037086270764410884821867",
"124633719507740399828202178935284474227",
"163315584522832890127865323145009872393",
"276021061209053776616006129590071935185",
"232622969128715108369066946318162696697",
"122962891440815052844631029594402045923",
"213571687472258146937256079773193447013",
"183347866187449072821228373730442644136",
"113804618413109015066719461276795976570"
]
}
},
{
"deprecated": false,
"target": {
"file": "include/linux/sysfb.h"
},
"signature_type": "Line",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@17e78f43de0c6da34204cc858b4cc05671ea9acf",
"id": "CVE-2024-46698-9f36e19b",
"digest": {
"threshold": 0.9,
"line_hashes": [
"11251348864940211833608485298361517361",
"326322444719739610487206158487798469256",
"42582018352655481918553263319560399130",
"189098380140518830239201006721056055106",
"131126356552545113661078811831245411502",
"20781836009009962369869595290833948280"
]
}
},
{
"deprecated": false,
"target": {
"file": "drivers/video/aperture.c",
"function": "aperture_remove_conflicting_pci_devices"
},
"signature_type": "Function",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b49420d6a1aeb399e5b107fc6eb8584d0860fbd7",
"id": "CVE-2024-46698-aaa28fe5",
"digest": {
"function_hash": "273199452698961399635803888863650423596",
"length": 448.0
}
},
{
"deprecated": false,
"target": {
"file": "drivers/firmware/sysfb.c",
"function": "sysfb_disable"
},
"signature_type": "Function",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@17e78f43de0c6da34204cc858b4cc05671ea9acf",
"id": "CVE-2024-46698-abde9463",
"digest": {
"function_hash": "252505858744685253363105373071358279191",
"length": 121.0
}
},
{
"deprecated": false,
"target": {
"file": "drivers/video/aperture.c",
"function": "aperture_remove_conflicting_devices"
},
"signature_type": "Function",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@17e78f43de0c6da34204cc858b4cc05671ea9acf",
"id": "CVE-2024-46698-b2e3a772",
"digest": {
"function_hash": "93866379139961094273216090309388934916",
"length": 125.0
}
},
{
"deprecated": false,
"target": {
"file": "drivers/of/platform.c",
"function": "of_platform_default_populate_init"
},
"signature_type": "Function",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@17e78f43de0c6da34204cc858b4cc05671ea9acf",
"id": "CVE-2024-46698-bbd5908d",
"digest": {
"function_hash": "332471927197858891935964547882680742421",
"length": 1369.0
}
},
{
"deprecated": false,
"target": {
"file": "drivers/video/aperture.c"
},
"signature_type": "Line",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@17e78f43de0c6da34204cc858b4cc05671ea9acf",
"id": "CVE-2024-46698-c533c96c",
"digest": {
"threshold": 0.9,
"line_hashes": [
"51921641552050577281655880236739004773",
"139684933092827572598174954158630830146",
"285060739360411060707900461026338258868",
"143562775861208746487572195028344036429",
"328109047970656890727737548542918720415",
"122625449645495110651074956457279271284",
"282089454521411425216017387689349963451",
"80649493203736484047928210804646254688",
"293603769862029331333927831072164057309",
"324065639251947806011694912127121456196",
"256808037238643496429047321556796093792",
"201440998030779440273832931589763284779",
"74685712713689613757465423672143563319",
"257250214180215117573368159710498096030",
"64728569876750425052076698969100526306",
"85918586702856629651359333514555563404",
"156587605973090304966629453117271204515",
"173320009798800469399612012875637282813"
]
}
},
{
"deprecated": false,
"target": {
"file": "drivers/of/platform.c"
},
"signature_type": "Line",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b49420d6a1aeb399e5b107fc6eb8584d0860fbd7",
"id": "CVE-2024-46698-d1d95925",
"digest": {
"threshold": 0.9,
"line_hashes": [
"310715392853811531543568148711673249261",
"143439563040474097582982208307607465083",
"187493859963767444441748207994318126397",
"261663780604515087069388202413015696597"
]
}
},
{
"deprecated": false,
"target": {
"file": "drivers/of/platform.c"
},
"signature_type": "Line",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@17e78f43de0c6da34204cc858b4cc05671ea9acf",
"id": "CVE-2024-46698-ebd97b65",
"digest": {
"threshold": 0.9,
"line_hashes": [
"310715392853811531543568148711673249261",
"143439563040474097582982208307607465083",
"187493859963767444441748207994318126397",
"261663780604515087069388202413015696597"
]
}
},
{
"deprecated": false,
"target": {
"file": "drivers/firmware/sysfb.c",
"function": "sysfb_parent_dev"
},
"signature_type": "Function",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b49420d6a1aeb399e5b107fc6eb8584d0860fbd7",
"id": "CVE-2024-46698-ed9a211d",
"digest": {
"function_hash": "267706986353585209315366153615278339533",
"length": 275.0
}
},
{
"deprecated": false,
"target": {
"file": "drivers/firmware/sysfb.c",
"function": "sysfb_parent_dev"
},
"signature_type": "Function",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@17e78f43de0c6da34204cc858b4cc05671ea9acf",
"id": "CVE-2024-46698-f3450da1",
"digest": {
"function_hash": "267706986353585209315366153615278339533",
"length": 275.0
}
},
{
"deprecated": false,
"target": {
"file": "drivers/video/aperture.c",
"function": "aperture_remove_conflicting_pci_devices"
},
"signature_type": "Function",
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@17e78f43de0c6da34204cc858b4cc05671ea9acf",
"id": "CVE-2024-46698-f6f4891d",
"digest": {
"function_hash": "273199452698961399635803888863650423596",
"length": 448.0
}
}
]