// For flags

CVE-2022-41972

Contiki-NG contains NULL Pointer Dereference in BLE L2CAP module

Severity Score

6.5
*CVSS v3.1

Exploit Likelihood

*EPSS

Affected Versions

*CPE

Public Exploits

0
*Multiple Sources

Exploited in Wild

-
*KEV

Decision

-
*SSVC
Descriptions

Contiki-NG is an open-source, cross-platform operating system for Next-Generation IoT devices. Versions prior to 4.9 contain a NULL Pointer Dereference in BLE L2CAP module. The Contiki-NG operating system for IoT devices contains a Bluetooth Low Energy stack. An attacker can inject a packet in this stack, which causes the implementation to dereference a NULL pointer and triggers undefined behavior. More specifically, while processing the L2CAP protocol, the implementation maps an incoming channel ID to its metadata structure. In this structure, state information regarding credits is managed through calls to the function input_l2cap_credit in the module os/net/mac/ble/ble-l2cap.c. Unfortunately, the input_l2cap_credit function does not check that the metadata corresponding to the user-supplied channel ID actually exists, which can lead to the channel variable being set to NULL before a pointer dereferencing operation is performed. The vulnerability has been patched in the "develop" branch of Contiki-NG, and will be included in release 4.9. Users can apply the patch in Contiki-NG pull request #2253 as a workaround until the new package is released.

Contiki-NG es un sistema operativo multiplataforma de código abierto para dispositivos IoT de próxima generación. Las versiones anteriores a la 4.9 contienen una desreferencia de puntero NULL en el módulo BLE L2CAP. El sistema operativo Contiki-NG para dispositivos IoT contiene una pila Bluetooth Low Energy. Un atacante puede inyectar un paquete en esta pila, lo que hace que la implementación elimine la referencia a un puntero NULL y desencadene un comportamiento indefinido. Más específicamente, mientras procesa el protocolo L2CAP, la implementación asigna un ID de canal entrante a su estructura de metadatos. En esta estructura, la información del estado de los créditos se gestiona mediante llamadas a la función input_l2cap_credit en el módulo os/net/mac/ble/ble-l2cap.c. Desafortunadamente, la función input_l2cap_credit no verifica que los metadatos correspondientes al ID del canal proporcionado por el usuario realmente existan, lo que puede llevar a que la variable del canal se establezca en NULL antes de realizar una operación de desreferenciación del puntero. La vulnerabilidad ha sido parcheada en la rama "desarrollo" de Contiki-NG y se incluirá en la versión 4.9. Los usuarios pueden aplicar el parche en la solicitud de extracción #2253 de Contiki-NG como workaround hasta que se lance el nuevo paquete.

*Credits: N/A
CVSS Scores
Attack Vector
Adjacent
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High
Attack Vector
Local
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
Low
* Common Vulnerability Scoring System
SSVC
  • Decision:-
Exploitation
-
Automatable
-
Tech. Impact
-
* Organization's Worst-case Scenario
Timeline
  • 2022-09-30 CVE Reserved
  • 2022-12-16 CVE Published
  • 2024-07-08 EPSS Updated
  • 2024-08-03 CVE Updated
  • ---------- Exploited in Wild
  • ---------- KEV Due Date
  • ---------- First Exploit
CWE
  • CWE-476: NULL Pointer Dereference
CAPEC
Affected Vendors, Products, and Versions
Vendor Product Version Other Status
Vendor Product Version Other Status <-- --> Vendor Product Version Other Status
Contiki-ng
Search vendor "Contiki-ng"
Contiki-ng
Search vendor "Contiki-ng" for product "Contiki-ng"
<= 4.8
Search vendor "Contiki-ng" for product "Contiki-ng" and version " <= 4.8"
-
Affected