In the Linux kernel, the following vulnerability has been resolved:
usb: typec: altmodes/displayport: do not index invalid pin_assignments
A poorly implemented DisplayPort Alt Mode port partner can indicate that its pin assignment capabilities are greater than the maximum value, DPPINASSIGNF. In this case, calls to pinassignment_show will cause a BRK exception due to an out of bounds array access.
Prevent for loop in pinassignmentshow from accessing invalid values in pinassignments by adding DPPINASSIGNMAX value in typecdp.h and using i < DPPINASSIGNMAX as a loop condition.
[
{
"digest": {
"line_hashes": [
"22607749272792709159311483836492810847",
"192271691880387877456811388698662446627",
"45314020526360658639978429553506926566",
"271317181995527661536294339015942314994"
],
"threshold": 0.9
},
"target": {
"file": "drivers/usb/typec/altmodes/displayport.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@621d5a3ef0231ab242f2d31eecec40c38ca609c5",
"id": "CVE-2025-38391-0fba45f5",
"signature_type": "Line"
},
{
"digest": {
"length": 590.0,
"function_hash": "137262048701576009193293429654800586291"
},
"target": {
"function": "pin_assignment_show",
"file": "drivers/usb/typec/altmodes/displayport.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@af4db5a35a4ef7a68046883bfd12468007db38f1",
"id": "CVE-2025-38391-10b66081",
"signature_type": "Function"
},
{
"digest": {
"line_hashes": [
"225355001827243902996313103016082342156",
"195365578213282193270875044404156350008",
"100026723696653192211359713991068147000",
"146002046619075620690633299373124254155"
],
"threshold": 0.9
},
"target": {
"file": "include/linux/usb/typec_dp.h"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@621d5a3ef0231ab242f2d31eecec40c38ca609c5",
"id": "CVE-2025-38391-1eecd184",
"signature_type": "Line"
},
{
"digest": {
"length": 590.0,
"function_hash": "137262048701576009193293429654800586291"
},
"target": {
"function": "pin_assignment_show",
"file": "drivers/usb/typec/altmodes/displayport.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@114a977e0f6bf278e05eade055e13fc271f69cf7",
"id": "CVE-2025-38391-2a72519d",
"signature_type": "Function"
},
{
"digest": {
"line_hashes": [
"225355001827243902996313103016082342156",
"195365578213282193270875044404156350008",
"100026723696653192211359713991068147000",
"146002046619075620690633299373124254155"
],
"threshold": 0.9
},
"target": {
"file": "include/linux/usb/typec_dp.h"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@47cb5d26f61d80c805d7de4106451153779297a1",
"id": "CVE-2025-38391-3485c4ed",
"signature_type": "Line"
},
{
"digest": {
"length": 590.0,
"function_hash": "137262048701576009193293429654800586291"
},
"target": {
"function": "pin_assignment_show",
"file": "drivers/usb/typec/altmodes/displayport.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2f535517b5611b7221ed478527e4b58e29536ddf",
"id": "CVE-2025-38391-42875b2e",
"signature_type": "Function"
},
{
"digest": {
"line_hashes": [
"22607749272792709159311483836492810847",
"192271691880387877456811388698662446627",
"45314020526360658639978429553506926566",
"271317181995527661536294339015942314994"
],
"threshold": 0.9
},
"target": {
"file": "drivers/usb/typec/altmodes/displayport.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2f535517b5611b7221ed478527e4b58e29536ddf",
"id": "CVE-2025-38391-4b22705c",
"signature_type": "Line"
},
{
"digest": {
"line_hashes": [
"225355001827243902996313103016082342156",
"195365578213282193270875044404156350008",
"100026723696653192211359713991068147000",
"146002046619075620690633299373124254155"
],
"threshold": 0.9
},
"target": {
"file": "include/linux/usb/typec_dp.h"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2f535517b5611b7221ed478527e4b58e29536ddf",
"id": "CVE-2025-38391-4b4d823f",
"signature_type": "Line"
},
{
"digest": {
"line_hashes": [
"22607749272792709159311483836492810847",
"192271691880387877456811388698662446627",
"45314020526360658639978429553506926566",
"271317181995527661536294339015942314994"
],
"threshold": 0.9
},
"target": {
"file": "drivers/usb/typec/altmodes/displayport.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@114a977e0f6bf278e05eade055e13fc271f69cf7",
"id": "CVE-2025-38391-5a50b54c",
"signature_type": "Line"
},
{
"digest": {
"line_hashes": [
"225355001827243902996313103016082342156",
"195365578213282193270875044404156350008",
"100026723696653192211359713991068147000",
"146002046619075620690633299373124254155"
],
"threshold": 0.9
},
"target": {
"file": "include/linux/usb/typec_dp.h"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@114a977e0f6bf278e05eade055e13fc271f69cf7",
"id": "CVE-2025-38391-7d0b1ae4",
"signature_type": "Line"
},
{
"digest": {
"line_hashes": [
"22607749272792709159311483836492810847",
"192271691880387877456811388698662446627",
"45314020526360658639978429553506926566",
"271317181995527661536294339015942314994"
],
"threshold": 0.9
},
"target": {
"file": "drivers/usb/typec/altmodes/displayport.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@47cb5d26f61d80c805d7de4106451153779297a1",
"id": "CVE-2025-38391-8445c7cd",
"signature_type": "Line"
},
{
"digest": {
"length": 590.0,
"function_hash": "137262048701576009193293429654800586291"
},
"target": {
"function": "pin_assignment_show",
"file": "drivers/usb/typec/altmodes/displayport.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@47cb5d26f61d80c805d7de4106451153779297a1",
"id": "CVE-2025-38391-a44fc884",
"signature_type": "Function"
},
{
"digest": {
"line_hashes": [
"22607749272792709159311483836492810847",
"192271691880387877456811388698662446627",
"45314020526360658639978429553506926566",
"271317181995527661536294339015942314994"
],
"threshold": 0.9
},
"target": {
"file": "drivers/usb/typec/altmodes/displayport.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@af4db5a35a4ef7a68046883bfd12468007db38f1",
"id": "CVE-2025-38391-e07d78e9",
"signature_type": "Line"
},
{
"digest": {
"line_hashes": [
"225355001827243902996313103016082342156",
"195365578213282193270875044404156350008",
"100026723696653192211359713991068147000",
"146002046619075620690633299373124254155"
],
"threshold": 0.9
},
"target": {
"file": "include/linux/usb/typec_dp.h"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@af4db5a35a4ef7a68046883bfd12468007db38f1",
"id": "CVE-2025-38391-e803b440",
"signature_type": "Line"
},
{
"digest": {
"length": 590.0,
"function_hash": "137262048701576009193293429654800586291"
},
"target": {
"function": "pin_assignment_show",
"file": "drivers/usb/typec/altmodes/displayport.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@621d5a3ef0231ab242f2d31eecec40c38ca609c5",
"id": "CVE-2025-38391-f4f316ac",
"signature_type": "Function"
}
]