CVE-2026-53028
Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.
NVD · uneditedIn the Linux kernel, the following vulnerability has been resolved: usb: typec: Fix error pointer dereference The variable tps->partner is checked for an error pointer and then if it is, it sends an error message but does not return and then immediately dereferenced a few lines below: tps->partner = typec_register_partner(tps->port, &desc); if (IS_ERR(tps->partner)) dev_warn(tps->dev, "%s: failed to register partnet\n", __func__); if (desc.identity) { typec_partner_set_identity(tps->partner); cd321x->cur_partner_identity = st.partner_identity; } Add early return and fix spelling mistake in error message. Detected by Smatch: drivers/usb/typec/tipd/core.c:827 cd321x_update_work() error: 'tps->partner' dereferencing possible ERR_PTR()
Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.
dbcve analysis · high confidenceIn the Linux kernel USB Type-C driver (drivers/usb/typec/tipd/core.c), the cd321x_update_work() function checks if typec_register_partner() returns an error pointer but fails to return early. The code prints a warning but continues execution, then dereferences tps->partner a few lines later in typec_partner_set_identity() without re-checking, causing a potential kernel NULL/dereference error when the registration fails.
Verify against the referenced sources before acting — the references below are authoritative for this CVE, this summary is not.
Affected products & versions What the vendor confirmedThe version ranges the vendor confirmed as vulnerable. If your version sits inside a range here, treat yourself as exposed until you have upgraded.
NVD · CPE data>= 6.18, < 6.18.33>= 6.19, < 7.0.10CVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.
From the vector- Attack vector
- Local
- Complexity
- Low
- Privileges
- Low
- User interaction
- None
- Scope
- Unchanged
- Confidentiality
- None
- Integrity
- None
- Availability
- High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Am I affected? How to checkSteps we derive from the advisory and the affected-version data, so you can decide whether this CVE reaches your setup. They are a guide, not a scan — your own configuration is the authority.
dbcve checksWork through these to decide whether this CVE applies to you.
-
Check kernel version against affected rangeRun `uname -r` or check `/proc/version` to get the running kernel version. Compare it to the affected ranges: >= 6.18, < 6.18.33 or >= 6.19, < 7.0.10Affected if Kernel version falls within either 6.18.x where x < 33, or 6.19.x through 7.0.x where x < 10
-
Verify USB Type-C tipd driver is in useCheck if the tipd driver is loaded: run `lsmod | grep -i tipd` for module, or check kernel config for `CONFIG_USB_TIPD` using `grep CONFIG_USB_TIPD /boot/config-$(uname -r)` or `/proc/config.gz`Affected if The tipd USB Type-C driver is compiled or loaded on the system
-
Inspect the vulnerable source functionLocate the file drivers/usb/typec/tipd/core.c in the kernel source tree. Search for the cd321x_update_work function and locate the typec_register_partner() call. Verify if the code lacks an early return after checking for IS_ERR on the return value before proceeding to typec_partner_set_identity()Affected if The source code shows typec_register_partner() error check without an immediate return, allowing execution to continue to typec_partner_set_identity()
System is affected if running a kernel in the vulnerable version range AND the USB Type-C tipd driver is present, AND the source code lacks the early return after typec_register_partner() failure.
Generated from the published advisory. Verify against your own configuration.
Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.
dbcve · scoped6.18.337.0.10
Apply the upstream kernel patch which adds an early return after the error pointer check and corrects the spelling error in the warning message. This is a single-point fix in a kernel driver requiring kernel rebuild and verification.
Linux Kernel 6.18.33 or 7.0.10 (depending on which major version branch you are on)
- Identify the currently running kernel version using 'uname -r'
- If running kernel >= 6.18 and < 6.18.33, upgrade to kernel version 6.18.33 or later
- If running kernel >= 6.19 and < 7.0.10, upgrade to kernel version 7.0.10 or later
- Apply the upgrade via your distribution's package manager (e.g., 'apt-get update && apt-get upgrade' for Debian/Ubuntu, 'yum update' for RHEL/CentOS, or 'dnf upgrade' for Fedora)
- Reboot the system to load the fixed kernel
- Verify the fix is applied by checking the kernel version and reviewing the patch in drivers/usb/typec/tipd/core.c
Generated from the published advisory — verify against the referenced sources before acting.
- Consultation1.0 h
- Implementation2.0 h
- Testing4.0 h
- Review / QA2.0 h
An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $2,432.
Scan for this in your stack
Free · runs locallyCheck whether your project pulls in CVE-2026-53028 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.
References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.
Primary sourcesPractitioner notes
ContributedPeer-ranked notes from engineers who’ve handled CVE-2026-53028 in production — separate from our analysis above.
The advisory tells you what broke. It rarely tells you what actually worked. If you’ve dealt with this one, that detail is what the next engineer is searching for.
- The version that genuinely resolved it — not the one the vendor claimed
- A config change or rule that shut the vector down
- A gotcha in the upgrade path that cost you an afternoon
No notes yet
Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.
A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.
- Verified mitigations, workarounds, and config changes
- Version or environment caveats, and links to real fixes
- No weaponised exploit code, or anything meant to cause harm
- No spam, self-promotion, credentials, or personal data