CVE-2025-21958

Summary

In the Linux kernel, the following vulnerability has been resolved:

Revert "openvswitch: switch to per-action label counting in conntrack"

Currently, ovs_ct_set_labels() is only called for confirmed conntrack entries (ct) within ovs_ct_commit(). However, if the conntrack entry does not have the labels_ext extension, attempting to allocate it in ovs_ct_get_conn_labels() for a confirmed entry triggers a warning in nf_ct_ext_add():

WARN_ON(nf_ct_is_confirmed(ct));

This happens when the conntrack entry is created externally before OVS increments net->ct.labels_used. The issue has become more likely since commit fcb1aa5163b1 ("openvswitch: switch to per-action label counting in conntrack"), which changed to use per-action label counting and increment net->ct.labels_used when a flow with ct action is added.

Since there’s no straightforward way to fully resolve this issue at the moment, this reverts the commit to avoid breaking existing use cases.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxfcb1aa5163b1ae4cf2864b688b08927aac51f51e < 9e79fdabd52cfce1a021640a81256878a2c516a2affected
LinuxLinuxfcb1aa5163b1ae4cf2864b688b08927aac51f51e < d91bfc64a4886102746e74d2c6f3a61e9a77fd7daffected
LinuxLinuxfcb1aa5163b1ae4cf2864b688b08927aac51f51e < 1063ae07383c0ddc5bcce170260c143825846b03affected
LinuxLinux6.12affected
LinuxLinux0 < 6.12unaffected
LinuxLinux6.12.20 <= 6.12.*unaffected
LinuxLinux6.13.8 <= 6.13.*unaffected
LinuxLinux6.14 <= *unaffected

Weaknesses

References