Linux: mlxsw: spectrum_flower: Fix port range register leak in tmplt_create()
What fixes it
- 41ad5bcf0219aaebf8ffb052c5e8177479330cdeLinuxCVE List
- 3938430f0237c59ca08d6a366e7657b2b7f8d0bbLinuxCVE List
- 4eaf1285b5c1e42f80e47f9fe0d391e70418db02LinuxCVE List
- 7ea07afb230f1342ab0f9365edd0aae137f425d3LinuxCVE List
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
In the Linux kernel, the following vulnerability has been resolved:
mlxsw: spectrum_flower: Fix port range register leak in tmplt_create()
mlxsw_sp_flower_tmplt_create() parses a flow_cls_offload template into a stack-local struct mlxsw_sp_acl_rule_info purely to compute rulei.values.elusage. Parsing can acquire port range registers via mlxsw_sp_flower_parse_ports_range(), but since this rulei never goes through mlxsw_sp_acl_rulei_destroy(), those registers were never released, including through chain template deletion.
Factor out of mlxsw_sp_acl_rulei_destroy() the code to actually release the necessary resources and call from mlxsw_sp_flower_tmplt_create() to plug the leak.
The issue was found during a review of Wentao Liang's patch referenced below.
Text from CVE List
Affected versions 12
- Linuxaffected: fe22f7410527c2077223b5fd0fc0458db912f0db before 41ad5bcf0219aaebf8ffb052c5e8177479330cdeCVE List
- Linuxaffected: fe22f7410527c2077223b5fd0fc0458db912f0db before c8e934287debb29c6ded86b21e49fc72e186d15eCVE List
- Linuxaffected: fe22f7410527c2077223b5fd0fc0458db912f0db before 3938430f0237c59ca08d6a366e7657b2b7f8d0bbCVE List
- Linuxaffected: fe22f7410527c2077223b5fd0fc0458db912f0db before 4eaf1285b5c1e42f80e47f9fe0d391e70418db02CVE List
- Linuxaffected: fe22f7410527c2077223b5fd0fc0458db912f0db before 7ea07afb230f1342ab0f9365edd0aae137f425d3CVE List
- Linuxaffected: 6.6CVE List
- Linuxunaffected: all versions before 6.6CVE List
- Linuxunaffected: 6.6.160 through 6.6.*CVE List
- Linuxunaffected: 6.12.113 through 6.12.*CVE List
- Linuxunaffected: 6.18.57 through 6.18.*CVE List
- Linuxunaffected: 7.2.11 through 7.2.*CVE List
- Linuxunaffected: 7.3CVE List
References 5
- git.kernel.org/stable/c/41ad5bcf0219aaebf8ffb052c5e8177479330cdeReferencevia CVE List
- git.kernel.org/stable/c/c8e934287debb29c6ded86b21e49fc72e186d15eReferencevia CVE List
- git.kernel.org/stable/c/3938430f0237c59ca08d6a366e7657b2b7f8d0bbReferencevia CVE List
- git.kernel.org/stable/c/4eaf1285b5c1e42f80e47f9fe0d391e70418db02Referencevia CVE List
- git.kernel.org/stable/c/7ea07afb230f1342ab0f9365edd0aae137f425d3Referencevia CVE List