In the Linux kernel, the following vulnerability has been resolved:
usb: typec: altmodes/displayport: create sysfs nodes as driver's default device attribute group
The DisplayPort driver's sysfs nodes may be present to the userspace before typecaltmodesetdrvdata() completes in dpaltmodeprobe. This means that a sysfs read can trigger a NULL pointer error by deferencing dp->hpd in hpdshow or dp->lock in pinassignmentshow, as devgetdrvdata() returns NULL in those cases.
Remove manual sysfs node creation in favor of adding attribute group as default for devices bound to the driver. The ATTRIBUTE_GROUPS() macro is not used here otherwise the path to the sysfs nodes is no longer compliant with the ABI.
[
{
"digest": {
"function_hash": "299983933876327031865707543441917820738",
"length": 289.0
},
"target": {
"function": "dp_altmode_remove",
"file": "drivers/usb/typec/altmodes/displayport.c"
},
"signature_type": "Function",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6b989ea1c479533ab8dbfbeb1704c94b1d3320da",
"signature_version": "v1",
"id": "CVE-2024-35790-045f70ae"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"75678096553070733983775689901238878413",
"60246366977689593686800724383958626739",
"157683593136624896772151689849032492582",
"195996700122447170143746249453886825892",
"60325317058563064906234327265702390869",
"231395390149867487709558634546418353331",
"268703024371267632450580255505867758729",
"339593770041225325482217853495963339469",
"329266386375072579099471770459001028439",
"200054965587838694667188707297940551926",
"56880253723236436154623000156445136335",
"247440155849362191838143438556272061096",
"55105149045389394772473796672435092677",
"278296694451874044883449271570437881889",
"6602577695982397149229437249380226865",
"156924723430607027124464309235675468577",
"53778673114338753558063978629916878824",
"248187327359258913375686898498062567943",
"200400575805810438482095311204040145320",
"288662971291982125160669149913379571734",
"65888723419954285274581703198605330655",
"73146139531396833988404507029630516731",
"127397716489774828147214647908818793967",
"33178655104688218428227368615187655281",
"321500092988368375287419572234873106851",
"201170761810044846860782864080724651623",
"123408376478799154496070770819880398549",
"40536210235472100669481097882121306157",
"80857671814378788273722232889471128593",
"45156313263962154568774018910582033356"
]
},
"target": {
"file": "drivers/usb/typec/altmodes/displayport.c"
},
"signature_type": "Line",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0ad011776c057ce881b7fd6d8c79ecd459c087e9",
"signature_version": "v1",
"id": "CVE-2024-35790-11d6c90f"
},
{
"digest": {
"function_hash": "104608467114558178865601633787988360172",
"length": 1016.0
},
"target": {
"function": "dp_altmode_probe",
"file": "drivers/usb/typec/altmodes/displayport.c"
},
"signature_type": "Function",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4a22aeac24d0d5f26ba741408e8b5a4be6dc5dc0",
"signature_version": "v1",
"id": "CVE-2024-35790-120b522f"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"75678096553070733983775689901238878413",
"60246366977689593686800724383958626739",
"157683593136624896772151689849032492582",
"195996700122447170143746249453886825892",
"60325317058563064906234327265702390869",
"231395390149867487709558634546418353331",
"268703024371267632450580255505867758729",
"339593770041225325482217853495963339469",
"329266386375072579099471770459001028439",
"200054965587838694667188707297940551926",
"56880253723236436154623000156445136335",
"247440155849362191838143438556272061096",
"55105149045389394772473796672435092677",
"278296694451874044883449271570437881889",
"6602577695982397149229437249380226865",
"156924723430607027124464309235675468577",
"53778673114338753558063978629916878824",
"248187327359258913375686898498062567943",
"200400575805810438482095311204040145320",
"288662971291982125160669149913379571734",
"65888723419954285274581703198605330655",
"73146139531396833988404507029630516731",
"127397716489774828147214647908818793967",
"33178655104688218428227368615187655281",
"321500092988368375287419572234873106851",
"201170761810044846860782864080724651623",
"123408376478799154496070770819880398549",
"40536210235472100669481097882121306157",
"80857671814378788273722232889471128593",
"45156313263962154568774018910582033356"
]
},
"target": {
"file": "drivers/usb/typec/altmodes/displayport.c"
},
"signature_type": "Line",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@165376f6b23e9a779850e750fb2eb06622e5a531",
"signature_version": "v1",
"id": "CVE-2024-35790-1df5cef8"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"75678096553070733983775689901238878413",
"60246366977689593686800724383958626739",
"157683593136624896772151689849032492582",
"195996700122447170143746249453886825892",
"60325317058563064906234327265702390869",
"231395390149867487709558634546418353331",
"268703024371267632450580255505867758729",
"339593770041225325482217853495963339469",
"329266386375072579099471770459001028439",
"200054965587838694667188707297940551926",
"56880253723236436154623000156445136335",
"247440155849362191838143438556272061096",
"55105149045389394772473796672435092677",
"278296694451874044883449271570437881889",
"6602577695982397149229437249380226865",
"156924723430607027124464309235675468577",
"53778673114338753558063978629916878824",
"248187327359258913375686898498062567943",
"200400575805810438482095311204040145320",
"288662971291982125160669149913379571734",
"65888723419954285274581703198605330655",
"73146139531396833988404507029630516731",
"127397716489774828147214647908818793967",
"33178655104688218428227368615187655281",
"321500092988368375287419572234873106851",
"14651509894042176800736753811489171803",
"123408376478799154496070770819880398549",
"40536210235472100669481097882121306157",
"80857671814378788273722232889471128593",
"45156313263962154568774018910582033356"
]
},
"target": {
"file": "drivers/usb/typec/altmodes/displayport.c"
},
"signature_type": "Line",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4a22aeac24d0d5f26ba741408e8b5a4be6dc5dc0",
"signature_version": "v1",
"id": "CVE-2024-35790-45302ed5"
},
{
"digest": {
"function_hash": "174894176934046907084599308318895343131",
"length": 303.0
},
"target": {
"function": "dp_altmode_remove",
"file": "drivers/usb/typec/altmodes/displayport.c"
},
"signature_type": "Function",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0ad011776c057ce881b7fd6d8c79ecd459c087e9",
"signature_version": "v1",
"id": "CVE-2024-35790-4e073bd0"
},
{
"digest": {
"function_hash": "104608467114558178865601633787988360172",
"length": 1016.0
},
"target": {
"function": "dp_altmode_probe",
"file": "drivers/usb/typec/altmodes/displayport.c"
},
"signature_type": "Function",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0ad011776c057ce881b7fd6d8c79ecd459c087e9",
"signature_version": "v1",
"id": "CVE-2024-35790-57965ce9"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"16495904647784784117890443949056869562",
"42926087598365762622125586898459578544",
"43685503691016466835195156741484636689",
"245058109479524817371607479960493523681",
"251878226724431361260783475120715111054",
"284102122019058385610660883718041840946",
"339593770041225325482217853495963339469",
"329266386375072579099471770459001028439",
"200054965587838694667188707297940551926",
"56880253723236436154623000156445136335",
"247440155849362191838143438556272061096",
"55105149045389394772473796672435092677",
"278296694451874044883449271570437881889",
"6602577695982397149229437249380226865",
"156924723430607027124464309235675468577",
"53778673114338753558063978629916878824",
"248187327359258913375686898498062567943",
"200400575805810438482095311204040145320",
"288662971291982125160669149913379571734",
"65888723419954285274581703198605330655",
"73146139531396833988404507029630516731",
"127397716489774828147214647908818793967",
"33178655104688218428227368615187655281",
"321500092988368375287419572234873106851",
"14651509894042176800736753811489171803",
"123408376478799154496070770819880398549",
"40536210235472100669481097882121306157",
"80857671814378788273722232889471128593",
"45156313263962154568774018910582033356"
]
},
"target": {
"file": "drivers/usb/typec/altmodes/displayport.c"
},
"signature_type": "Line",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f1c5ddaef506e3517dce338c08a60663b1521920",
"signature_version": "v1",
"id": "CVE-2024-35790-5b66445c"
},
{
"digest": {
"function_hash": "174894176934046907084599308318895343131",
"length": 303.0
},
"target": {
"function": "dp_altmode_remove",
"file": "drivers/usb/typec/altmodes/displayport.c"
},
"signature_type": "Function",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@165376f6b23e9a779850e750fb2eb06622e5a531",
"signature_version": "v1",
"id": "CVE-2024-35790-7e966e36"
},
{
"digest": {
"function_hash": "221155751707499142588267274637515536080",
"length": 926.0
},
"target": {
"function": "dp_altmode_probe",
"file": "drivers/usb/typec/altmodes/displayport.c"
},
"signature_type": "Function",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f1c5ddaef506e3517dce338c08a60663b1521920",
"signature_version": "v1",
"id": "CVE-2024-35790-962d5155"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"16495904647784784117890443949056869562",
"42926087598365762622125586898459578544",
"43685503691016466835195156741484636689",
"245058109479524817371607479960493523681",
"251878226724431361260783475120715111054",
"284102122019058385610660883718041840946",
"339593770041225325482217853495963339469",
"329266386375072579099471770459001028439",
"200054965587838694667188707297940551926",
"56880253723236436154623000156445136335",
"247440155849362191838143438556272061096",
"333550230445439281853214834681183756737",
"268080400639977041909181006803739308481",
"30510546063931902664612314899742728012",
"62250692123893792833934137010042680402",
"6602577695982397149229437249380226865",
"156924723430607027124464309235675468577",
"53778673114338753558063978629916878824",
"248187327359258913375686898498062567943",
"200400575805810438482095311204040145320",
"288662971291982125160669149913379571734",
"65888723419954285274581703198605330655",
"73146139531396833988404507029630516731",
"127397716489774828147214647908818793967",
"33178655104688218428227368615187655281",
"237020407757312247216431811053784351338",
"41004244196495417455997261843823230048",
"123408376478799154496070770819880398549",
"40536210235472100669481097882121306157",
"80857671814378788273722232889471128593",
"45156313263962154568774018910582033356"
]
},
"target": {
"file": "drivers/usb/typec/altmodes/displayport.c"
},
"signature_type": "Line",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9794ffd9d0c39ee070fbd733f862bbe89b28ba33",
"signature_version": "v1",
"id": "CVE-2024-35790-9bddfa6b"
},
{
"digest": {
"function_hash": "299983933876327031865707543441917820738",
"length": 289.0
},
"target": {
"function": "dp_altmode_remove",
"file": "drivers/usb/typec/altmodes/displayport.c"
},
"signature_type": "Function",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4a22aeac24d0d5f26ba741408e8b5a4be6dc5dc0",
"signature_version": "v1",
"id": "CVE-2024-35790-b4d07d04"
},
{
"digest": {
"function_hash": "299983933876327031865707543441917820738",
"length": 289.0
},
"target": {
"function": "dp_altmode_remove",
"file": "drivers/usb/typec/altmodes/displayport.c"
},
"signature_type": "Function",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f1c5ddaef506e3517dce338c08a60663b1521920",
"signature_version": "v1",
"id": "CVE-2024-35790-b6bb98ac"
},
{
"digest": {
"function_hash": "107314242780463263697843372328123107820",
"length": 717.0
},
"target": {
"function": "dp_altmode_probe",
"file": "drivers/usb/typec/altmodes/displayport.c"
},
"signature_type": "Function",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9794ffd9d0c39ee070fbd733f862bbe89b28ba33",
"signature_version": "v1",
"id": "CVE-2024-35790-c12be332"
},
{
"digest": {
"function_hash": "104608467114558178865601633787988360172",
"length": 1016.0
},
"target": {
"function": "dp_altmode_probe",
"file": "drivers/usb/typec/altmodes/displayport.c"
},
"signature_type": "Function",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@165376f6b23e9a779850e750fb2eb06622e5a531",
"signature_version": "v1",
"id": "CVE-2024-35790-c1e50e92"
},
{
"digest": {
"function_hash": "221155751707499142588267274637515536080",
"length": 926.0
},
"target": {
"function": "dp_altmode_probe",
"file": "drivers/usb/typec/altmodes/displayport.c"
},
"signature_type": "Function",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6b989ea1c479533ab8dbfbeb1704c94b1d3320da",
"signature_version": "v1",
"id": "CVE-2024-35790-d0353d9b"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"16495904647784784117890443949056869562",
"42926087598365762622125586898459578544",
"43685503691016466835195156741484636689",
"245058109479524817371607479960493523681",
"251878226724431361260783475120715111054",
"284102122019058385610660883718041840946",
"339593770041225325482217853495963339469",
"329266386375072579099471770459001028439",
"200054965587838694667188707297940551926",
"56880253723236436154623000156445136335",
"247440155849362191838143438556272061096",
"55105149045389394772473796672435092677",
"278296694451874044883449271570437881889",
"6602577695982397149229437249380226865",
"156924723430607027124464309235675468577",
"53778673114338753558063978629916878824",
"248187327359258913375686898498062567943",
"200400575805810438482095311204040145320",
"288662971291982125160669149913379571734",
"65888723419954285274581703198605330655",
"73146139531396833988404507029630516731",
"127397716489774828147214647908818793967",
"33178655104688218428227368615187655281",
"321500092988368375287419572234873106851",
"14651509894042176800736753811489171803",
"123408376478799154496070770819880398549",
"40536210235472100669481097882121306157",
"80857671814378788273722232889471128593",
"45156313263962154568774018910582033356"
]
},
"target": {
"file": "drivers/usb/typec/altmodes/displayport.c"
},
"signature_type": "Line",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6b989ea1c479533ab8dbfbeb1704c94b1d3320da",
"signature_version": "v1",
"id": "CVE-2024-35790-de4bba56"
},
{
"digest": {
"function_hash": "241656420074215915548854770043503170461",
"length": 158.0
},
"target": {
"function": "dp_altmode_remove",
"file": "drivers/usb/typec/altmodes/displayport.c"
},
"signature_type": "Function",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9794ffd9d0c39ee070fbd733f862bbe89b28ba33",
"signature_version": "v1",
"id": "CVE-2024-35790-f35e742c"
}
]