GHSA-W4PJ-2VVJ-F3VP
Vulnerability from github – Published: 2026-06-26 21:32 – Updated: 2026-07-06 21:30In the Linux kernel, the following vulnerability has been resolved:
usb: typec: ps883x: Fix Oops at unbind
When trying to unbind a device in order to bind to it vfio-platform as:
echo bc0000.geniqup > /sys/bus/platform/devices/bc0000.geniqup/driver/unbind
I get the following Oops:
[ 436.478639] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000020 [ 436.487762] Mem abort info: [ 436.490716] ESR = 0x0000000096000004 [ 436.494595] EC = 0x25: DABT (current EL), IL = 32 bits [ 436.500071] SET = 0, FnV = 0 [ 436.503250] EA = 0, S1PTW = 0 [ 436.506505] FSC = 0x04: level 0 translation fault [ 436.511533] Data abort info: [ 436.514558] ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000 [ 436.520215] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 436.525436] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 436.530918] user pgtable: 4k pages, 48-bit VAs, pgdp=00000008861a9000 [ 436.537554] [0000000000000020] pgd=0000000000000000, p4d=0000000000000000 [ 436.544548] Internal error: Oops: 0000000096000004 [#1] SMP [ 436.550374] Modules linked in: [ 436.553542] CPU: 2 UID: 0 PID: 671 Comm: bash Tainted: G W 7.0.0-rc3-g56fcdd0911a5-dirty #2 PREEMPT [ 436.564440] Tainted: [W]=WARN [ 436.567515] Hardware name: LENOVO 91B6CTO1WW/3796, BIOS O6NKT3BA 05/02/2025 [ 436.574675] pstate: 21400005 (nzCv daif +PAN -UAO -TCO +DIT -SSBS BTYPE=--) [ 436.581841] pc : ps883x_retimer_remove+0x14/0x94 [ 436.586605] lr : i2c_device_remove+0x28/0x84 [ 436.591017] sp : ffff8000847137c0
That's because the ps883x_retimer_remove() retrieves the driver data from i2c_get_clientdata() which was never set at probe. So, add i2c_set_clientdata() at the end of the probe.
{
"affected": [],
"aliases": [
"CVE-2026-53305"
],
"database_specific": {
"cwe_ids": [
"CWE-476"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2026-06-26T20:17:23Z",
"severity": "MODERATE"
},
"details": "In the Linux kernel, the following vulnerability has been resolved:\n\nusb: typec: ps883x: Fix Oops at unbind\n\nWhen trying to unbind a device in order to bind to it vfio-platform as:\n\n echo bc0000.geniqup \u003e /sys/bus/platform/devices/bc0000.geniqup/driver/unbind\n\nI get the following Oops:\n\n[ 436.478639] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000020\n[ 436.487762] Mem abort info:\n[ 436.490716] ESR = 0x0000000096000004\n[ 436.494595] EC = 0x25: DABT (current EL), IL = 32 bits\n[ 436.500071] SET = 0, FnV = 0\n[ 436.503250] EA = 0, S1PTW = 0\n[ 436.506505] FSC = 0x04: level 0 translation fault\n[ 436.511533] Data abort info:\n[ 436.514558] ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000\n[ 436.520215] CM = 0, WnR = 0, TnD = 0, TagAccess = 0\n[ 436.525436] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0\n[ 436.530918] user pgtable: 4k pages, 48-bit VAs, pgdp=00000008861a9000\n[ 436.537554] [0000000000000020] pgd=0000000000000000, p4d=0000000000000000\n[ 436.544548] Internal error: Oops: 0000000096000004 [#1] SMP\n[ 436.550374] Modules linked in:\n[ 436.553542] CPU: 2 UID: 0 PID: 671 Comm: bash Tainted: G W 7.0.0-rc3-g56fcdd0911a5-dirty #2 PREEMPT\n[ 436.564440] Tainted: [W]=WARN\n[ 436.567515] Hardware name: LENOVO 91B6CTO1WW/3796, BIOS O6NKT3BA 05/02/2025\n[ 436.574675] pstate: 21400005 (nzCv daif +PAN -UAO -TCO +DIT -SSBS BTYPE=--)\n[ 436.581841] pc : ps883x_retimer_remove+0x14/0x94\n[ 436.586605] lr : i2c_device_remove+0x28/0x84\n[ 436.591017] sp : ffff8000847137c0\n\nThat\u0027s because the ps883x_retimer_remove() retrieves the driver data\nfrom i2c_get_clientdata() which was never set at probe. So, add\ni2c_set_clientdata() at the end of the probe.",
"id": "GHSA-w4pj-2vvj-f3vp",
"modified": "2026-07-06T21:30:25Z",
"published": "2026-06-26T21:32:17Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-53305"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/37a3d1b6827783f26d2f8e6c7683e253ba79ae93"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/381133848a033c2086cf9cafb226f425bd0414ff"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/c404d0ac0cb085cb7077ba32c334cc4042feb81a"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
"type": "CVSS_V3"
}
]
}
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.