In the Linux kernel, the following vulnerability has been resolved:
Input: synaptics - fix crash when enabling pass-through port
When enabling a pass-through port an interrupt might come before psmouse driver binds to the pass-through port. However synaptics sub-driver tries to access psmouse instance presumably associated with the pass-through port to figure out if only 1 byte of response or entire protocol packet needs to be forwarded to the pass-through port and may crash if psmouse instance has not been attached to the port yet.
Fix the crash by introducing open() and close() methods for the port and check if the port is open before trying to access psmouse instance. Because psmouse calls serio_open() only after attaching psmouse instance to serio port instance this prevents the potential crash.
[ { "signature_type": "Line", "id": "CVE-2025-21746-14504475", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3e179d3f1ada963475395d81bfe91daef4d1a24c", "signature_version": "v1", "target": { "file": "drivers/input/mouse/synaptics.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "291470763259960079303608462937266962614", "289747855278997311119541180934225570100", "39379273990291663598658602778975358689", "194864444044834602806939180259511131797", "266626049891764375574571945127713011527", "216755496837169827226872796947263141636", "320208074270943425877506286520550401851", "49975449391581877365431870969023420487", "300247319788139523613790646266618460851", "217276276362142629589021462291293170104", "84343136803935052849567443128637735016", "339267526145192321380424060026038034134", "309453192906518025964205584247244831153", "68918115023299343173071027358446566097", "161758471623834105393725602602650184181", "247232790853558209433999992618363751038", "247591834322140426954060232793190790133", "110948639605492764747600243714216781374", "13797838720387670112896995550258424118", "297489808780654014563320608770464498846", "173873407657453476426315345328360724604", "195764194983601801168264150636538679261", "102868308636793807850258092622360209768", "192268169930889753938337072671125753650", "30230810799448171185328560390232028911", "66243879887962508357951285213907414409", "250379066747166145941127559948214208488", "295557787401029681908108441913379865839", "184474890175620923369796990538806436052", "179544151242804104002131947848273074532" ] }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2025-21746-1c3e05f3", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a2cbcd70133dc0d4d4c95ad4cd5412b935354c7c", "signature_version": "v1", "target": { "function": "synaptics_pt_create", "file": "drivers/input/mouse/synaptics.c" }, "digest": { "function_hash": "48729525561138897930898559700497242195", "length": 683.0 }, "deprecated": false }, { "signature_type": "Line", "id": "CVE-2025-21746-22006668", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@08bd5b7c9a2401faabdaa1472d45c7de0755fd7e", "signature_version": "v1", "target": { "file": "drivers/input/mouse/synaptics.h" }, "digest": { "threshold": 0.9, "line_hashes": [ "9604014915951862352430310282814108986", "161582058896162863091011774641386901586", "222621287561022046071024033300003443847", "175801150893191967011763801139907016098" ] }, "deprecated": false }, { "signature_type": "Line", "id": "CVE-2025-21746-27f6f365", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@87da1ea93ec9f9f0004e5b12e78789bc94e360bf", "signature_version": "v1", "target": { "file": "drivers/input/mouse/synaptics.h" }, "digest": { "threshold": 0.9, "line_hashes": [ "9604014915951862352430310282814108986", "161582058896162863091011774641386901586", "222621287561022046071024033300003443847", "175801150893191967011763801139907016098" ] }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2025-21746-2f42fe98", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3e179d3f1ada963475395d81bfe91daef4d1a24c", "signature_version": "v1", "target": { "function": "synaptics_process_byte", "file": "drivers/input/mouse/synaptics.c" }, "digest": { "function_hash": "261346571883130167243172926223980322350", "length": 512.0 }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2025-21746-4044e2ab", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3e179d3f1ada963475395d81bfe91daef4d1a24c", "signature_version": "v1", "target": { "function": "synaptics_pt_create", "file": "drivers/input/mouse/synaptics.c" }, "digest": { "function_hash": "89420593357425281286179460588337905320", "length": 683.0 }, "deprecated": false }, { "signature_type": "Line", "id": "CVE-2025-21746-43ed11fe", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3e179d3f1ada963475395d81bfe91daef4d1a24c", "signature_version": "v1", "target": { "file": "drivers/input/mouse/synaptics.h" }, "digest": { "threshold": 0.9, "line_hashes": [ "9604014915951862352430310282814108986", "161582058896162863091011774641386901586", "222621287561022046071024033300003443847", "175801150893191967011763801139907016098" ] }, "deprecated": false }, { "signature_type": "Line", "id": "CVE-2025-21746-47560530", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a2cbcd70133dc0d4d4c95ad4cd5412b935354c7c", "signature_version": "v1", "target": { "file": "drivers/input/mouse/synaptics.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "291470763259960079303608462937266962614", "289747855278997311119541180934225570100", "39379273990291663598658602778975358689", "194864444044834602806939180259511131797", "266626049891764375574571945127713011527", "216755496837169827226872796947263141636", "320208074270943425877506286520550401851", "49975449391581877365431870969023420487", "300247319788139523613790646266618460851", "217276276362142629589021462291293170104", "84343136803935052849567443128637735016", "339267526145192321380424060026038034134", "309453192906518025964205584247244831153", "68918115023299343173071027358446566097", "161758471623834105393725602602650184181", "247232790853558209433999992618363751038", "247591834322140426954060232793190790133", "110948639605492764747600243714216781374", "13797838720387670112896995550258424118", "297489808780654014563320608770464498846", "173873407657453476426315345328360724604", "195764194983601801168264150636538679261", "102868308636793807850258092622360209768", "192268169930889753938337072671125753650", "30230810799448171185328560390232028911", "66243879887962508357951285213907414409", "250379066747166145941127559948214208488", "295557787401029681908108441913379865839", "184474890175620923369796990538806436052", "179544151242804104002131947848273074532" ] }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2025-21746-71453d44", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@87da1ea93ec9f9f0004e5b12e78789bc94e360bf", "signature_version": "v1", "target": { "function": "synaptics_process_byte", "file": "drivers/input/mouse/synaptics.c" }, "digest": { "function_hash": "261346571883130167243172926223980322350", "length": 512.0 }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2025-21746-74a51f93", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a2cbcd70133dc0d4d4c95ad4cd5412b935354c7c", "signature_version": "v1", "target": { "function": "synaptics_process_byte", "file": "drivers/input/mouse/synaptics.c" }, "digest": { "function_hash": "261346571883130167243172926223980322350", "length": 512.0 }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2025-21746-77af3591", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a2cbcd70133dc0d4d4c95ad4cd5412b935354c7c", "signature_version": "v1", "target": { "function": "synaptics_pass_pt_packet", "file": "drivers/input/mouse/synaptics.c" }, "digest": { "function_hash": "259306058622448952901295685720410737122", "length": 377.0 }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2025-21746-87cc0923", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3e179d3f1ada963475395d81bfe91daef4d1a24c", "signature_version": "v1", "target": { "function": "synaptics_pass_pt_packet", "file": "drivers/input/mouse/synaptics.c" }, "digest": { "function_hash": "259306058622448952901295685720410737122", "length": 377.0 }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2025-21746-a121f0fb", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@08bd5b7c9a2401faabdaa1472d45c7de0755fd7e", "signature_version": "v1", "target": { "function": "synaptics_pass_pt_packet", "file": "drivers/input/mouse/synaptics.c" }, "digest": { "function_hash": "259306058622448952901295685720410737122", "length": 377.0 }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2025-21746-a1894943", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@87da1ea93ec9f9f0004e5b12e78789bc94e360bf", "signature_version": "v1", "target": { "function": "synaptics_pass_pt_packet", "file": "drivers/input/mouse/synaptics.c" }, "digest": { "function_hash": "259306058622448952901295685720410737122", "length": 377.0 }, "deprecated": false }, { "signature_type": "Line", "id": "CVE-2025-21746-a5063aee", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@87da1ea93ec9f9f0004e5b12e78789bc94e360bf", "signature_version": "v1", "target": { "file": "drivers/input/mouse/synaptics.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "57563822823669162461199885313577296598", "258424557813736866029463798136752630017", "39379273990291663598658602778975358689", "194864444044834602806939180259511131797", "266626049891764375574571945127713011527", "216755496837169827226872796947263141636", "320208074270943425877506286520550401851", "49975449391581877365431870969023420487", "300247319788139523613790646266618460851", "217276276362142629589021462291293170104", "84343136803935052849567443128637735016", "339267526145192321380424060026038034134", "309453192906518025964205584247244831153", "68918115023299343173071027358446566097", "161758471623834105393725602602650184181", "247232790853558209433999992618363751038", "247591834322140426954060232793190790133", "110948639605492764747600243714216781374", "13797838720387670112896995550258424118", "297489808780654014563320608770464498846", "173873407657453476426315345328360724604", "195764194983601801168264150636538679261", "102868308636793807850258092622360209768", "192268169930889753938337072671125753650", "30230810799448171185328560390232028911", "66243879887962508357951285213907414409", "250379066747166145941127559948214208488", "295557787401029681908108441913379865839", "184474890175620923369796990538806436052", "179544151242804104002131947848273074532" ] }, "deprecated": false }, { "signature_type": "Line", "id": "CVE-2025-21746-b9f8fd94", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@08bd5b7c9a2401faabdaa1472d45c7de0755fd7e", "signature_version": "v1", "target": { "file": "drivers/input/mouse/synaptics.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "57563822823669162461199885313577296598", "258424557813736866029463798136752630017", "39379273990291663598658602778975358689", "194864444044834602806939180259511131797", "266626049891764375574571945127713011527", "216755496837169827226872796947263141636", "320208074270943425877506286520550401851", "49975449391581877365431870969023420487", "300247319788139523613790646266618460851", "217276276362142629589021462291293170104", "84343136803935052849567443128637735016", "339267526145192321380424060026038034134", "309453192906518025964205584247244831153", "68918115023299343173071027358446566097", "161758471623834105393725602602650184181", "247232790853558209433999992618363751038", "247591834322140426954060232793190790133", "110948639605492764747600243714216781374", "13797838720387670112896995550258424118", "297489808780654014563320608770464498846", "173873407657453476426315345328360724604", "195764194983601801168264150636538679261", "102868308636793807850258092622360209768", "192268169930889753938337072671125753650", "30230810799448171185328560390232028911", "66243879887962508357951285213907414409", "250379066747166145941127559948214208488", "295557787401029681908108441913379865839", "184474890175620923369796990538806436052", "179544151242804104002131947848273074532" ] }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2025-21746-ce2297c7", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@08bd5b7c9a2401faabdaa1472d45c7de0755fd7e", "signature_version": "v1", "target": { "function": "synaptics_pt_create", "file": "drivers/input/mouse/synaptics.c" }, "digest": { "function_hash": "89420593357425281286179460588337905320", "length": 683.0 }, "deprecated": false }, { "signature_type": "Line", "id": "CVE-2025-21746-d60d9010", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a2cbcd70133dc0d4d4c95ad4cd5412b935354c7c", "signature_version": "v1", "target": { "file": "drivers/input/mouse/synaptics.h" }, "digest": { "threshold": 0.9, "line_hashes": [ "9604014915951862352430310282814108986", "161582058896162863091011774641386901586", "222621287561022046071024033300003443847", "175801150893191967011763801139907016098" ] }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2025-21746-dff86f47", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@87da1ea93ec9f9f0004e5b12e78789bc94e360bf", "signature_version": "v1", "target": { "function": "synaptics_pt_create", "file": "drivers/input/mouse/synaptics.c" }, "digest": { "function_hash": "89420593357425281286179460588337905320", "length": 683.0 }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2025-21746-f3fa4bf1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@08bd5b7c9a2401faabdaa1472d45c7de0755fd7e", "signature_version": "v1", "target": { "function": "synaptics_process_byte", "file": "drivers/input/mouse/synaptics.c" }, "digest": { "function_hash": "261346571883130167243172926223980322350", "length": 512.0 }, "deprecated": false } ]