mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/
synced 2026-10-20 19:23:40 +00:00
Bluetooth: Improve setsockopt() handling of malformed user input
The bt_copy_from_sockptr() return value is being misinterpreted by most users: a non-zero result is mistakenly assumed to represent an error code, but actually indicates the number of bytes that could not be copied. Remove bt_copy_from_sockptr() and adapt callers to use copy_safe_from_sockptr(). For sco_sock_setsockopt() (case BT_CODEC) use copy_struct_from_sockptr() to scrub parts of uninitialized buffer. Opportunistically, rename `len` to `optlen` in hci_sock_setsockopt_old() and hci_sock_setsockopt(). Fixes:51eda36d33("Bluetooth: SCO: Fix not validating setsockopt user input") Fixes:a97de7bff1("Bluetooth: RFCOMM: Fix not validating setsockopt user input") Fixes:4f3951242a("Bluetooth: L2CAP: Fix not validating setsockopt user input") Fixes:9e8742cdfc("Bluetooth: ISO: Fix not validating setsockopt user input") Fixes:b2186061d6("Bluetooth: hci_sock: Fix not validating setsockopt user input") Reviewed-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com> Reviewed-by: David Wei <dw@davidwei.uk> Signed-off-by: Michal Luczaj <mhal@rbox.co> Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
This commit is contained in:
parent
3dd002f200
commit
3e643e4efa
6 changed files with 33 additions and 40 deletions
Loading…
Add table
Add a link
Reference in a new issue