Description
In the Linux kernel, the following vulnerability has been resolved: thunderbolt: Bound the DROM dual link port number before indexing sw->ports tb_drom_parse_entry_port() validates the device-supplied header->index against sw->config.max_port_number before indexing sw->ports[], but the sibling field entry->dual_link_port_nr -- a 6-bit value also read from the DROM -- indexes the same array with no such check. A malicious or malformed Thunderbolt device can set dual_link_port_nr beyond the allocated sw->ports[] (max_port_number + 1 entries), producing an out-of-bounds tb_port pointer that is stored and later dereferenced. Reject a port entry whose dual_link_port_nr exceeds max_port_number, the same bound already applied to header->index.
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
cd22e73bdf5eff7e68a0f8bdfbce123ad43651f6 to < 6c892ed9f4129ae40ef0f92e1bb31aa0b0ddc72caffectedcd22e73bdf5eff7e68a0f8bdfbce123ad43651f6 to < 3d3c212b70633332ab71672aa2bc6af257d2ec83affectedcd22e73bdf5eff7e68a0f8bdfbce123ad43651f6 to < b98e1e28bd95b0fa33164eec1e763d26c7058b39affectedcd22e73bdf5eff7e68a0f8bdfbce123ad43651f6 to < 50f0c8dd8c3390f851cfb97ca13116f9ee6469d1affectedcd22e73bdf5eff7e68a0f8bdfbce123ad43651f6 to < f28066057134aa9294caa597b670daf505ad9dceaffectedcd22e73bdf5eff7e68a0f8bdfbce123ad43651f6 to < 40d2ffb74094cf36edbe05855566a4c58b6ce808affectedcd22e73bdf5eff7e68a0f8bdfbce123ad43651f6 to < f32c3a9a77cfb50934a60b05d5407649af062535affectedcd22e73bdf5eff7e68a0f8bdfbce123ad43651f6 to < d6764992f17b23d91ff93ce905ab53c2aa7191f0affected
Linux Linux
Default version status: affected
3.17affected0 to < 3.17unaffected5.10.265 to ≤ 5.10.*unaffected5.15.216 to ≤ 5.15.*unaffected6.1.183 to ≤ 6.1.*unaffected6.6.152 to ≤ 6.6.*unaffected6.12.104 to ≤ 6.12.*unaffected6.18.45 to ≤ 6.18.*unaffected7.1.9 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/6c892ed9f4129ae40ef0f92e1bb31aa0b0ddc72c ↗
- https://git.kernel.org/stable/c/3d3c212b70633332ab71672aa2bc6af257d2ec83 ↗
- https://git.kernel.org/stable/c/b98e1e28bd95b0fa33164eec1e763d26c7058b39 ↗
- https://git.kernel.org/stable/c/50f0c8dd8c3390f851cfb97ca13116f9ee6469d1 ↗
- https://git.kernel.org/stable/c/f28066057134aa9294caa597b670daf505ad9dce ↗
- https://git.kernel.org/stable/c/40d2ffb74094cf36edbe05855566a4c58b6ce808 ↗
- https://git.kernel.org/stable/c/f32c3a9a77cfb50934a60b05d5407649af062535 ↗
- https://git.kernel.org/stable/c/d6764992f17b23d91ff93ce905ab53c2aa7191f0 ↗