VYPR
Unrated severityNVD Advisory· Published Aug 2, 2023· Updated Oct 17, 2024

CVE-2023-33383

CVE-2023-33383

Description

Shelly 4PM Pro four-channel smart switch 0.11.0 allows an attacker to trigger a BLE out of bounds read fault condition that results in a device reload.

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

Affected products

2
  • Shelly/4PM Pro four-channel smart switchdescription
  • Shelly/Pro 4PMllm-fuzzy
    Range: = 0.11.0

Patches

Vulnerability mechanics

Root cause

"Missing bounds validation on BLE write data length allows an out-of-bounds read fault."

Attack vector

An attacker within BLE range connects to the device and writes an arbitrary length value to handle 0x000d, then writes a payload larger than expected to handle 0x0008. This causes an out-of-bounds read fault that forces a device reset [ref_id=1]. The fault can be chained with the device's scripting feature to toggle on-board relays, even when authentication is enabled [ref_id=1]. No authentication is required to trigger the fault [ref_id=1].

Affected code

The vulnerability resides in the BLE GATT service of the Shelly 4PM Pro firmware 0.11.0. The write to BLE handle 0x000d sets an arbitrary length field, and a subsequent write to read/write handle 0x0008 with a larger payload than expected triggers the out-of-bounds read fault [ref_id=1].

What the fix does

As of the public disclosure date (2 August 2023), no patch had been released by the vendor [ref_id=1]. The advisory recommends that the vendor validate the length of data written to BLE handle 0x0008 against the expected RPC JSON data length to prevent the out-of-bounds read [ref_id=1].

Preconditions

  • networkAttacker must be within BLE radio range of the target Shelly 4PM Pro device
  • authNo authentication required; the fault triggers regardless of whether authentication is enabled

Reproduction

The public PoC uses the `gatttool` utility. First, connect to the device (example MAC `c8:f0:9e:88:92:3e`). Write `00000001` to handle `0x000d` to set an arbitrary length. Then write `ab` to handle `0x0008`, followed by `abcd` to handle `0x0008`. The device will reset after a few seconds [ref_id=1].

Generated on May 26, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

2

News mentions

0

No linked articles in our index yet.