Bug 2363419 (CVE-2022-49820) - CVE-2022-49820 kernel: mctp i2c: don't count unused / invalid keys for flow release
Summary: CVE-2022-49820 kernel: mctp i2c: don't count unused / invalid keys for flow r...
Keywords:
Status: NEW
Alias: CVE-2022-49820
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Product Security DevOps Team
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2025-05-01 15:03 UTC by OSIDB Bzimport
Modified: 2025-05-02 04:55 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2025-05-01 15:03:54 UTC
In the Linux kernel, the following vulnerability has been resolved:

mctp i2c: don't count unused / invalid keys for flow release

We're currently hitting the WARN_ON in mctp_i2c_flow_release:

    if (midev->release_count > midev->i2c_lock_count) {
        WARN_ONCE(1, "release count overflow");

This may be hit if we expire a flow before sending the first packet it
contains - as we will not be pairing the increment of release_count
(performed on flow release) with the i2c lock operation (only
performed on actual TX).

To fix this, only release a flow if we've encountered it previously (ie,
dev_flow_state does not indicate NEW), as we will mark the flow as
ACTIVE at the same time as accounting for the i2c lock operation. We
also need to add an INVALID flow state, to indicate when we've done the
release.

Comment 1 Avinash Hanwate 2025-05-02 04:43:33 UTC
Upstream advisory:
https://lore.kernel.org/linux-cve-announce/2025050133-CVE-2022-49820-6723@gregkh/T


Note You need to log in before you can comment on or make changes to this bug.