CVE-2026-90088

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

VendorProductVersion RangeStatus
LinuxLinux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < e7c0aa45ae6c5a338661b23812bfcdef50bf3e96affected
LinuxLinux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < cbc2962da99b6b89345267d3aa74b4b573340548affected
LinuxLinux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 9b2e5f1928c99224345a9ed8c5dae5fc74964d6daffected
LinuxLinux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < fc4851ff8dfb505e9a19efcc286712132bbd178daffected
LinuxLinux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < f561e44261344adadf9d6a6dff31e3af9776d5c6affected
LinuxLinux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < aeee917a4878af95f0c63e18c5f22eaf6299c7b8affected
LinuxLinux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 3988cbb1be501dbff909a2ee024670e3c955a66daffected
LinuxLinux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 44c98fd082eafd49d55a8a4077ff488175b2fe24affected
LinuxLinux2.6.12affected
LinuxLinux0 < 2.6.12unaffected
LinuxLinux5.10.270 <= 5.10.*unaffected
LinuxLinux5.15.221 <= 5.15.*unaffected
LinuxLinux6.1.188 <= 6.1.*unaffected
LinuxLinux6.6.157 <= 6.6.*unaffected
LinuxLinux6.12.110 <= 6.12.*unaffected
LinuxLinux6.18.52 <= 6.18.*unaffected
LinuxLinux7.2.6 <= 7.2.*unaffected
LinuxLinux7.3-rc1 <= *unaffected

Weaknesses

References