Category

Embedded Systems

Security vulnerabilities and automated fixes for embedded systems issues

14 posts found

critical8 min

How buffer overflow in modxo_queue.c memcpy happens in C embedded systems and how to fix it

A critical buffer overflow vulnerability was discovered in `modxo/modxo_queue.c`, where two `memcpy` operations in the `modxo_queue_insert` and `modxo_queue_remove` functions used `queue->item_size` as the copy length without validating it against the destination buffer's bounds. If `item_size` was corrupted or maliciously set to an oversized value, both the enqueue (line 49) and dequeue (line 61) operations could overflow adjacent heap or stack memory on the embedded target. The fix adds bounds

#buffer-overflow#c#embedded-systems+4 more
O
orbisai0security
Jun 6, 2026
critical7 min

Stack Buffer Overflow in nvme-print.c: How sprintf() Threatened NVMe Device Security

A critical stack-based buffer overflow vulnerability was discovered in `nvme-print.c`, where multiple `sprintf()` calls wrote formatted output into fixed-size stack buffers without any bounds checking. The vulnerability was most dangerous in `nvme_pel_event_to_string()` at line 224, where a malicious NVMe device could supply unexpected event type values to trigger a buffer overflow enabling arbitrary code execution. The fix replaces all unsafe `sprintf()` calls with `snprintf()`, enforcing stric

#buffer-overflow#c-security#nvme+4 more
O
orbisai0security
Jun 2, 2026
critical8 min

Unbounded strcpy() in FreezeProject/fs.c: How Four Lines Fixed a Critical Buffer Overflow

A critical buffer overflow vulnerability was discovered in `FreezeProject/src/fs.c`, where a custom `strcpy()` implementation was used at four separate call sites to copy user-controlled filenames into fixed-size buffers without any length checking. An attacker could supply a filename longer than the destination buffer to corrupt adjacent memory, potentially hijacking control flow or crashing the filesystem. The fix introduces a bounded `safe_strncpy()` helper that enforces the `MAX_FILENAME` li

#buffer-overflow#c-security#filesystem+4 more
O
orbisai0security
Jun 1, 2026
critical8 min

Critical DHCP Heap Overflow: How a Missing Bounds Check Opens the Door to Memory Corruption

A critical heap buffer overflow vulnerability was discovered in a DHCP server implementation where the hardware address length field (`hlen`) from an attacker-controlled packet was trusted without validation, allowing up to 239 bytes of heap corruption. The fix adds a simple bounds check before the memory copy, ensuring the copy length never exceeds the destination buffer size. This type of vulnerability can lead to remote code execution, denial of service, or full system compromise in network-f

#buffer-overflow#dhcp#embedded-systems+4 more
O
orbisai0security
May 28, 2026
critical8 min

Critical Null Pointer Dereference Fixed in Wii Input Handler: How One Missing NULL Check Could Crash Your Game

A critical null pointer dereference vulnerability was discovered in `source/input.c`, where the `GetIRPointer()` function accessed WPAD controller data without first verifying the pointer was valid. An attacker or unexpected hardware state could trigger this flaw to crash the application or, in more sophisticated scenarios, redirect execution flow. The fix adds a single but essential NULL check before dereferencing the pointer, closing the door on this class of vulnerability entirely.

#null-pointer#c-programming#input-handling+4 more
O
orbisai0security
May 28, 2026
high8 min

Stack Buffer Overflow in fontconvert.c: How strcpy() Without Bounds Checking Can Crash Your System

A high-severity stack buffer overflow vulnerability was discovered in the Adafruit GFX Library's `fontconvert` tool, where an unchecked `strcpy()` call could allow an attacker or malformed input to overwrite adjacent stack memory — including the saved return address. The fix replaces unsafe C string functions with bounds-checked alternatives (`snprintf`), closing a classic CWE-120 vulnerability that has plagued C codebases for decades. While the tool is primarily used during development, exploit

#buffer-overflow#c-security#cwe-120+4 more
O
orbisai0security
May 28, 2026
critical8 min

Heap Corruption in Dynamic App Loaders: How Unvalidated Binary Size Fields Open the Door to Memory Attacks

A critical heap corruption vulnerability was discovered in a dynamic application loader where size values read directly from untrusted binary files were used to drive memory operations without any bounds validation. An attacker supplying a crafted app binary could overflow heap buffers, corrupt memory, and potentially achieve arbitrary code execution. The fix introduces strict bounds checks before memory operations and replaces unsafe allocation patterns with overflow-safe alternatives.

#c#memory-safety#heap-overflow+4 more
O
orbisai0security
May 28, 2026
medium7 min

Unauthenticated Firmware Upload: When Anyone Can Flash Your Network Switch

A critical vulnerability in an embedded HTTP server allowed any unauthenticated attacker to upload and flash arbitrary firmware images to a network switch — no credentials required. Because malicious firmware survives reboots and factory resets, a successful attack could permanently compromise an entire fleet of devices with backdoors or rootkits. The fix adds an authentication gate and corrects dangerous CRC-check logic that would reset the device even on a failed checksum.

#firmware-security#authentication#embedded-systems+4 more
O
orbisai0security
May 28, 2026
critical10 min

Critical Buffer Overflow in UPnP TV Device: How strcpy Almost Broke Your Network

A critical buffer overflow vulnerability was discovered in the UPnP TV device sample code (`tv_device.c`), where unchecked `strcpy` calls allowed network-adjacent attackers to overflow fixed-size buffers with crafted UPnP discovery strings. The fix replaces unbounded string copies with length-checked alternatives (`strlcpy`/`snprintf`), closing a classic CWE-120 attack vector that required zero authentication to exploit.

#buffer-overflow#c-security#upnp+4 more
O
orbisai0security
May 24, 2026
critical7 min

Integer Overflow to Heap Buffer Overflow: A Critical CVE in OpenCV Image Processing

A critical integer overflow vulnerability was discovered and patched in opencv_functions.cpp, where width × height calculations on 32-bit embedded systems could silently overflow, causing heap buffer overflows that enable arbitrary code execution. This fix eliminates a dangerous attack vector that could be triggered by maliciously crafted image metadata. Understanding this class of vulnerability is essential for any developer working with image processing, embedded systems, or untrusted user inp

#security#c++#integer-overflow+4 more
O
orbisai0security
May 22, 2026
critical12 min

Path Traversal in TFTP Server: How Directory Traversal Bugs Enable Arbitrary File Writes

A critical path traversal vulnerability (CWE-22) was discovered and patched in a TFTP server implementation where unsanitized filenames in write requests could allow attackers to overwrite arbitrary files on the host filesystem. This post breaks down how the vulnerability worked, how it was exploited, and what developers can do to prevent similar issues in their own code.

#security#path-traversal#cwe-22+4 more
O
orbisai0security
May 19, 2026
critical9 min

Critical Heap Buffer Overflow in Firmware Audio Processing: How a Missing Bounds Check Could Let Attackers Take Control

A critical heap buffer overflow vulnerability was discovered and patched in firmware audio processing code, where a missing bounds validation before a `memcpy` operation could allow attackers to overflow a heap-allocated audio buffer and overwrite adjacent memory. This type of vulnerability is particularly dangerous in embedded firmware because it can lead to arbitrary code execution, system crashes, or complete device compromise. The fix adds proper bounds checking before the copy operation, en

#buffer-overflow#heap-overflow#firmware-security+4 more
O
orbisai0security
May 13, 2026