CVE-2026-90088 PUBLISHED

Bluetooth: RFCOMM: Validate MTU in rfcomm_apply_pn() to prevent infinite loop

Assigner: Linux
Reserved: 11.09.2026 Published: 17.09.2026 Updated: 17.09.2026

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().

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to e7c0aa45ae6c5a338661b23812bfcdef50bf3e96 (excl.)
  • affected from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to cbc2962da99b6b89345267d3aa74b4b573340548 (excl.)
  • affected from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to 9b2e5f1928c99224345a9ed8c5dae5fc74964d6d (excl.)
  • affected from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to fc4851ff8dfb505e9a19efcc286712132bbd178d (excl.)
  • affected from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to f561e44261344adadf9d6a6dff31e3af9776d5c6 (excl.)
  • affected from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to aeee917a4878af95f0c63e18c5f22eaf6299c7b8 (excl.)
  • affected from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to 3988cbb1be501dbff909a2ee024670e3c955a66d (excl.)
  • affected from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to 44c98fd082eafd49d55a8a4077ff488175b2fe24 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 2.6.12 is affected
  • unaffected from 0 to 2.6.12 (excl.)
  • unaffected from 5.10.270 to 5.10.* (incl.)
  • unaffected from 5.15.221 to 5.15.* (incl.)
  • unaffected from 6.1.188 to 6.1.* (incl.)
  • unaffected from 6.6.157 to 6.6.* (incl.)
  • unaffected from 6.12.110 to 6.12.* (incl.)
  • unaffected from 6.18.52 to 6.18.* (incl.)
  • unaffected from 7.2.6 to 7.2.* (incl.)
  • unaffected from 7.3-rc1 to * (incl.)

References