CVE-2026-90088
N/A
Summary
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: RFCOMM: Validate MTU in rfcomm_apply_pn() to prevent infinite loop
rfcomm_apply_pn() accepts the MTU value from a remote PN (Parameter Negotiation) frame without checking for zero. When the remote peer sends an MTU of zero, d->mtu is set to 0. This causes the sendmsg path to enter an infinite loop when fragmenting data, as each fragment has size == min_t(size_t, len, 0) == 0, so the remaining length never decreases. The infinite allocation of zero-length skbs exhausts all system memory.
Fix by clamping d->mtu to RFCOMM_DEFAULT_MTU when the negotiated value is zero, consistent with the initial value assigned in rfcomm_dlc_alloc().
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < e7c0aa45ae6c5a338661b23812bfcdef50bf3e96 | affected |
| Linux | Linux | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < cbc2962da99b6b89345267d3aa74b4b573340548 | affected |
| Linux | Linux | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 9b2e5f1928c99224345a9ed8c5dae5fc74964d6d | affected |
| Linux | Linux | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < fc4851ff8dfb505e9a19efcc286712132bbd178d | affected |
| Linux | Linux | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < f561e44261344adadf9d6a6dff31e3af9776d5c6 | affected |
| Linux | Linux | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < aeee917a4878af95f0c63e18c5f22eaf6299c7b8 | affected |
| Linux | Linux | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 3988cbb1be501dbff909a2ee024670e3c955a66d | affected |
| Linux | Linux | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 44c98fd082eafd49d55a8a4077ff488175b2fe24 | affected |
| Linux | Linux | 2.6.12 | affected |
| Linux | Linux | 0 < 2.6.12 | unaffected |
| Linux | Linux | 5.10.270 <= 5.10.* | unaffected |
| Linux | Linux | 5.15.221 <= 5.15.* | unaffected |
| Linux | Linux | 6.1.188 <= 6.1.* | unaffected |
| Linux | Linux | 6.6.157 <= 6.6.* | unaffected |
| Linux | Linux | 6.12.110 <= 6.12.* | unaffected |
| Linux | Linux | 6.18.52 <= 6.18.* | unaffected |
| Linux | Linux | 7.2.6 <= 7.2.* | unaffected |
| Linux | Linux | 7.3-rc1 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/e7c0aa45ae6c5a338661b23812bfcdef50bf3e96
- https://git.kernel.org/stable/c/cbc2962da99b6b89345267d3aa74b4b573340548
- https://git.kernel.org/stable/c/9b2e5f1928c99224345a9ed8c5dae5fc74964d6d
- https://git.kernel.org/stable/c/fc4851ff8dfb505e9a19efcc286712132bbd178d
- https://git.kernel.org/stable/c/f561e44261344adadf9d6a6dff31e3af9776d5c6
- https://git.kernel.org/stable/c/aeee917a4878af95f0c63e18c5f22eaf6299c7b8
- https://git.kernel.org/stable/c/3988cbb1be501dbff909a2ee024670e3c955a66d
- https://git.kernel.org/stable/c/44c98fd082eafd49d55a8a4077ff488175b2fe24
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.