LiveActive security incident?Get immediate response
CVE Record

CVE-2022-49900: i2c: piix4: Fix adapter not be removed in piix4_remove()

In the Linux kernel, the following vulnerability has been resolved: i2c: piix4: Fix adapter not be removed in piix4_remove() In piix4_probe(), the piix4 adapter will be registered in: piix4_probe() piix4_add_adapters_sb800() / piix4_add_adapter() i2c_add_adapter() Based on the probed device type, piix4_add_adapters_sb800() or single piix4_add_adapter() will be called. For the former case, piix4_adapter_count is set as the number of adapters, while for antoher case it is not set and kept default *zero*. When piix4 is removed, piix4_remove() removes the adapters added in piix4_probe(), basing on the piix4_adapter_count value. Because the count is zero for the single adapter case, the adapter won't be removed and makes the sources allocated for adapter leaked, such as the i2c client and device. These sources can still be accessed by i2c or bus and cause problems. An easily reproduced case is that if a new adapter is registered, i2c will get the leaked adapter and try to call smbus_algorithm, which was already freed: Triggered by: rmmod i2c_piix4 && modprobe max31730 BUG: unable to handle page fault for address: ffffffffc053d860 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page Oops: 0000 [#1] PREEMPT SMP KASAN CPU: 0 PID: 3752 Comm: modprobe Tainted: G Hardware name: QEMU Standard PC (i440FX + PIIX, 1996) RIP: 0010:i2c_default_probe (drivers/i2c/i2c-core-base.c:2259) i2c_core RSP: 0018:ffff888107477710 EFLAGS: 00000246 ... <TASK> i2c_detect (drivers/i2c/i2c-core-base.c:2302) i2c_core __process_new_driver (drivers/i2c/i2c-core-base.c:1336) i2c_core bus_for_each_dev (drivers/base/bus.c:301) i2c_for_each_dev (drivers/i2c/i2c-core-base.c:1823) i2c_core i2c_register_driver (drivers/i2c/i2c-core-base.c:1861) i2c_core do_one_initcall (init/main.c:1296) do_init_module (kernel/module/main.c:2455) ... </TASK> ---[ end trace 0000000000000000 ]--- Fix this problem by correctly set piix4_adapter_count as 1 for the single adapter so it can be normally removed.

UnknownCVSS not scoredNot KEV-listedUpdated
Glexia's TakeAutomated analysisunknown

Security readout for executives and security teams

Plain-English summary

CVE-2022-49900 is a Linux kernel driver cleanup bug. Under certain i2c_piix4 adapter removal conditions, kernel resources remain registered after being freed, which can later trigger a kernel crash. The bundle does not show remote exploitation, public weaponization, CVSS, or KEV listing.

Executive priority

Treat this as a targeted kernel stability issue, not an internet-scale emergency based on the provided evidence. Patch through normal kernel maintenance, with faster action for fleets using affected SMBus/I2C hardware, virtualization profiles, or workflows that manipulate kernel modules.

Technical view

In the Linux i2c_piix4 driver, the single-adapter probe path left piix4_adapter_count at zero. piix4_remove() then skipped adapter removal, leaving stale i2c objects reachable. Later driver registration could dereference freed smbus_algorithm memory and cause a kernel page fault. The fix sets the count to one for the single-adapter case.

Likely exposure

Exposure is likely limited to Linux systems using the piix4 SMBus/I2C driver on matching hardware or virtualized platforms. Risk is most relevant where kernel modules can be unloaded and other I2C drivers loaded. The provided affected data identifies Linux kernel versions but lacks complete distro package mapping.

Exploitation context

The source describes a reproducible local kernel crash path through driver lifecycle events, not a remote attack. KEV is false, and no cited source in the bundle reports active exploitation. Impact appears primarily availability and kernel stability, with evidence limited to the described use-after-free style failure.

Researcher notes

The core condition is inconsistent adapter accounting between probe and remove paths. The bundle names upstream stable commits but does not provide CVSS, CWE, distribution advisories, exploit reports, or full affected range semantics. Avoid assuming privilege escalation or remote reachability without additional source evidence.

Mitigation direction

  • Apply vendor or distribution kernel updates containing the referenced upstream stable fixes.
  • Prioritize systems using i2c_piix4 with dynamic kernel module loading enabled.
  • Check vendor advisories for exact fixed package versions and reboot requirements.
  • Restrict unnecessary kernel module loading where operationally feasible.
  • Monitor kernel logs for i2c_piix4 or i2c-core faults until patched.

Validation and detection

  • Inventory Linux kernel versions and whether the i2c_piix4 module is present or loaded.
  • Map installed distribution kernel packages to vendor advisories for CVE-2022-49900.
  • Confirm patched kernels include one of the referenced stable commits or equivalent backport.
  • Review operational procedures that unload or reload kernel modules on affected systems.
  • Check crash logs for i2c-core page faults following driver lifecycle events.
Prepared
Confidence
medium
Sources
6

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

cve · low confidence lookup

CVE-2022-49900 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
Unknown
CVSS
Not scored
Known Exploited
No
Published
Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

0CVSS vectors
3Timeline events
0ADP providers
5Source links

Vulnerability timeline

Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.

  1. CVE reservedCVE Program

    The CVE ID was reserved by the assigning CNA.

  2. CVE publishedCVE Program

    The CVE record was published.

  3. CVE updatedCVE Program

    The CVE record metadata indicates this as the latest update time.

Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
LinuxLinux528d53a1592b0e27c423f7cafc1df85f77fc1163, 528d53a1592b0e27c423f7cafc1df85f77fc1163, 528d53a1592b0e27c423f7cafc1df85f77fc1163, 528d53a1592b0e27c423f7cafc1df85f77fc1163unaffected
LinuxLinux5.4, 0, 5.10.154, 5.15.78, 6.0.8, 6.1affected
Weakness

CWE details

No CWE listed

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.