Description
In the Linux kernel, the following vulnerability has been resolved: bridge: cfm: reject invalid CCM interval at configuration time ccm_tx_work_expired() re-arms itself via queue_delayed_work() using the configured exp_interval converted by interval_to_us(). When exp_interval is BR_CFM_CCM_INTERVAL_NONE or out of range, interval_to_us() returns 0, causing the worker to fire immediately in a tight loop that allocates skbs until OOM. Fix this by validating exp_interval at configuration time: - Constrain IFLA_BRIDGE_CFM_CC_CONFIG_EXP_INTERVAL to the valid range [BR_CFM_CCM_INTERVAL_3_3_MS, BR_CFM_CCM_INTERVAL_10_MIN] in the netlink policy so userspace cannot set an invalid value. - Reject starting CCM TX in br_cfm_cc_ccm_tx() when exp_interval has not yet been configured (defaults to 0 from kzalloc).
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
2be665c3940d367e0a2a8128eb4985ce323f99a3 to < 2870056a78961e0fecd652362ee9d3fcfd24a8a6affected2be665c3940d367e0a2a8128eb4985ce323f99a3 to < f0f5eb59a97ece0d85de8cfa95dc18c609302a8baffected2be665c3940d367e0a2a8128eb4985ce323f99a3 to < 53788b134519e995699ea3721969c96a08d64575affected2be665c3940d367e0a2a8128eb4985ce323f99a3 to < b42aeb58317f12024734759ff745856b53948873affected2be665c3940d367e0a2a8128eb4985ce323f99a3 to < a090880c1f544589427e5b7050c40fb211ccecb4affected2be665c3940d367e0a2a8128eb4985ce323f99a3 to < 865643640b5b5c4579b32d7a55ac9ad648362eaaaffected2be665c3940d367e0a2a8128eb4985ce323f99a3 to < f3e02edd8322b31b8e6517faa6ba053bf29d1e26affected
Linux Linux
Default version status: affected
5.11affected0 to < 5.11unaffected5.15.212 to ≤ 5.15.*unaffected6.1.178 to ≤ 6.1.*unaffected6.6.145 to ≤ 6.6.*unaffected6.12.97 to ≤ 6.12.*unaffected6.18.40 to ≤ 6.18.*unaffected7.1.5 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/2870056a78961e0fecd652362ee9d3fcfd24a8a6 ↗
- https://git.kernel.org/stable/c/f0f5eb59a97ece0d85de8cfa95dc18c609302a8b ↗
- https://git.kernel.org/stable/c/53788b134519e995699ea3721969c96a08d64575 ↗
- https://git.kernel.org/stable/c/b42aeb58317f12024734759ff745856b53948873 ↗
- https://git.kernel.org/stable/c/a090880c1f544589427e5b7050c40fb211ccecb4 ↗
- https://git.kernel.org/stable/c/865643640b5b5c4579b32d7a55ac9ad648362eaa ↗
- https://git.kernel.org/stable/c/f3e02edd8322b31b8e6517faa6ba053bf29d1e26 ↗