zephyr/subsys
Florian Grandel 856c985239 net: l2: ieee802154: security: fix several bugs
The IEEE 802.15.4 security implementation had several severe bugs:
* A regression introduced by 6ea225e34a
  (net/ieee802154: Finally removing usage of ll_reserve in L2)
  introduced a buffer leak (reading/ writing beyond the end of the frame
  buffer) and led the security implementation to malfunction in all but
  the simplest cases (i.e. encryption/authentication: none).
* Encryption vs. authentication modes were not properly implemented i.e.
  encryption was always active even if not required by the chosen
  encryption level.
* Nonce endianness was not correctly handled on decryption of packets
  which led to authentication failures.
* The frame counter was not checked for overflows.
* The encryption output buffer limit (out_buf_max) was not correctly set.
* Setting an invalid key mode led to a NULL pointer deref.
* We use CCM rather than CCM* as crypto.h does not provide access to
  CCM*. CCM does not support encryption-only operation, though. This
  condition was not checked by the code.

Signed-off-by: Florian Grandel <jerico.dev@gmail.com>
2022-08-31 21:52:37 +00:00
..
bluetooth Bluetooth: controller: Implements ISO Test Mode HCI commands 2022-08-31 21:50:13 +00:00
canbus drivers: can: remove z prefix from public CAN API types 2022-08-18 10:19:29 +02:00
console
cpp
debug arch/posix: Add MemorySanitizer support 2022-08-19 08:30:01 +02:00
demand_paging different subsystems: use unsigned int for irq_lock() 2022-07-14 14:37:13 -05:00
dfu dfu: Fix write block size check on, probably, incorrect device 2022-08-18 12:51:20 +02:00
disk
emul emul: emul_sbs_gauge: Fix compile 2022-08-17 12:47:16 -05:00
fb fb: initialize devices at compile time 2022-08-19 11:51:26 +02:00
fs shell: typos 2022-08-18 12:25:39 +02:00
ipc ipc: rpmsg_service: initialize devices at compile time 2022-08-19 11:51:26 +02:00
jwt
logging Revert "logging: cleanup in CMakeLists.txt" 2022-08-30 17:28:05 -04:00
lorawan lorawan: upgrade to LoRaMAC-node v4.6.0 2022-08-03 05:02:57 +01:00
mgmt mgmt: mcumgr: Split up transport Kconfig into separate files 2022-08-26 21:34:38 -04:00
modbus modbus: remove the use of DT_INST_LABEL and DT_PROP(inst, label) 2022-08-11 09:39:24 -07:00
net net: l2: ieee802154: security: fix several bugs 2022-08-31 21:52:37 +00:00
pm pm: state: use DT_FOREACH_CHILD_SEP 2022-08-30 16:19:57 +02:00
portability different subsystems: use unsigned int for irq_lock() 2022-07-14 14:37:13 -05:00
random random: initialize devices at compile time 2022-08-19 11:51:26 +02:00
rtio include: fix the remaining legacy #include paths 2022-08-02 16:41:41 +01:00
sd sd: fix spelling in sdmmc_decode_csd 2022-08-23 11:12:37 -05:00
settings fcb_settings: Use weak function to get storage flash area 2022-08-18 12:31:43 +02:00
shell Revert "shell: Fix dependency to log_output" 2022-08-30 17:28:05 -04:00
stats
storage storage: flash_map: fix incomplete type 2022-08-18 11:20:26 +02:00
task_wdt task_wdt: Fix build warning on 64-bit platforms 2022-08-23 10:16:04 +02:00
testsuite ztress: fix the progress stats 2022-08-29 10:32:10 +02:00
timing
tracing tracing: ctf: change timer values to us instead of ms 2022-08-31 16:04:01 -04:00
usb usb: Increase mass storage stack size when SD stack is enabled 2022-08-17 12:09:17 +02:00
CMakeLists.txt dfu: fixup conditional CMake include 2022-08-05 15:14:40 +02:00
Kconfig