Description
In the Linux kernel, the following vulnerability has been resolved: scsi: scsi_transport_fc: Widen FPIN pname walker counter to u32 An adjacent Fibre Channel fabric actor that can deliver an FPIN ELS frame to an lpfc or qla2xxx Linux initiator can trigger a non-return in the generic FC transport. This is not a local userspace or IP network path; the attacker must be able to inject fabric traffic, for example as a compromised switch or fabric controller, or as a same-zone N_Port on a fabric that permits source spoofing. The Link-Integrity and Peer-Congestion FPIN walkers used a u8 loop counter against the 32-bit on-wire pname_count field, and did not bound pname_count by the descriptor body already validated by the TLV walker. A pname_count of 256 therefore wraps the counter and keeps the loop condition true indefinitely. Factor the shared pname_list[] walk into one helper, widen the counter to u32, and clamp pname_count against the entries that fit in the descriptor body before iterating.
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
3dcfe0de5a9752e646a61f4ce513ac059960c7c3 to < 07776b7779c9426982c1ad74aad91bd531593790affected3dcfe0de5a9752e646a61f4ce513ac059960c7c3 to < 29f126f09e34a425b376b3646c89aa7cc18b142caffected3dcfe0de5a9752e646a61f4ce513ac059960c7c3 to < 163bd704d7515c3df6c2e03bcba93d1db79edbffaffected3dcfe0de5a9752e646a61f4ce513ac059960c7c3 to < ee57b89e5da9fffbe0d26647e4ff0750dacb9943affected3dcfe0de5a9752e646a61f4ce513ac059960c7c3 to < 35461d23744175a78b6280293892cca357c22793affected3dcfe0de5a9752e646a61f4ce513ac059960c7c3 to < bdff76dff6ec23d6fe35812fa33e5c4ce2cdb770affected3dcfe0de5a9752e646a61f4ce513ac059960c7c3 to < a9a39233ec1fc9f97ea1340a4d09bb7ec2be5153affected
Linux Linux
Default version status: affected
5.11affected0 to < 5.11unaffected5.15.210 to ≤ 5.15.*unaffected6.1.176 to ≤ 6.1.*unaffected6.6.143 to ≤ 6.6.*unaffected6.12.93 to ≤ 6.12.*unaffected6.18.35 to ≤ 6.18.*unaffected7.0.12 to ≤ 7.0.*unaffected7.1 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/07776b7779c9426982c1ad74aad91bd531593790 ↗
- https://git.kernel.org/stable/c/29f126f09e34a425b376b3646c89aa7cc18b142c ↗
- https://git.kernel.org/stable/c/163bd704d7515c3df6c2e03bcba93d1db79edbff ↗
- https://git.kernel.org/stable/c/ee57b89e5da9fffbe0d26647e4ff0750dacb9943 ↗
- https://git.kernel.org/stable/c/35461d23744175a78b6280293892cca357c22793 ↗
- https://git.kernel.org/stable/c/bdff76dff6ec23d6fe35812fa33e5c4ce2cdb770 ↗
- https://git.kernel.org/stable/c/a9a39233ec1fc9f97ea1340a4d09bb7ec2be5153 ↗