CVE-2026-48490

ArduinoCore-AVR: Stack-Based Buffer Overflow in String float/double concatenation handler

Published Sep 11, 2026 CVSS 4.0 · 6.9 Medium EPSS < 1% KEV · Not listed
Description
ArduinoCore-avr contains the source code and configuration files of the Arduino AVR Boards platform. A vulnerability in versions prior to 1.8.8 allows an attacker to trigger a stack-based buffer overflow when concatenating floating-point values of sufficiently large magnitude onto an Arduino String object. By passing values near the extremes of the float or double range to `String::concat(float)`, `String::concat(double)`, `String::operator+=()`, or the `+` operator with a float/double operand, `dtostrf()` writes beyond the fixed-size stack buffer, causing memory corruption and denial of service. Under specific conditions, this could enable arbitrary code execution on AVR-based Arduino boards. The fix is included starting from the `1.8.8 `release.

Analysis

AI-generated

Technical impact

ArduinoCore-avr contains the source code and configuration files of the Arduino AVR Boards platform. A vulnerability in versions prior to 1.8.8 allows an attacker to trigger a stack-based buffer overflow when concatenating floating‑point values of sufficiently large magnitude onto an Arduino String object. By passing values near the extremes of the float or double range to `String::concat(float)`, `String::concat(double)`, `String::operator+=()`, or the `+` operator with a float/double operand, `dtostrf()` writes beyond the fixed-size stack buffer, causing memory corruption and denial of service. Under specific conditions, this could enable arbitrary code execution on AVR‑based Arduino boards. The fix is included starting from the `1.8.8` release.

Affected Systems

Versions of ArduinoCore‑avr prior to 1.8.8 are affected. All boards that rely on the Arduino AVR Boards platform and compile firmware using these earlier versions are vulnerable. Updating to release 1.8.8 or newer resolves the vulnerability.

Risk and Exploitability

The CVSS score of 6.9 indicates a medium severity. The EPSS score of < 1% shows a very low likelihood of exploitation. The vulnerability is not listed in the CISA KEV catalog. Attackers can trigger the overflow by supplying extreme float or double values during firmware execution on boards using the vulnerable ArduinoCore‑avr. The overflow corrupts the stack and, under specific conditions, could allow attacker‑controlled code execution, but the exploitability requires additional firmware manipulation. Given the lack of widespread attacks and the low EPSS, the overall risk remains moderate.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade ArduinoCore‑avr to version 1.8.8 or later.
  • Refactor firmware to avoid concatenating large floating‑point values onto Arduino String objects or use safer conversion functions.
  • Convert float or double values to a string representation only after ensuring they are within a safe numeric range to prevent overflow.

Generated by OpenCVE AI on September 15, 2026 at 20:04 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Arduino
Arduino arduinocore-avr
Vendors & Products Arduino
Arduino arduinocore-avr
Type Values Removed Values Added
Description ArduinoCore-avr contains the source code and configuration files of the Arduino AVR Boards platform. A vulnerability in versions prior to 1.8.8 allows an attacker to trigger a stack-based buffer overflow when concatenating floating-point values of sufficiently large magnitude onto an Arduino String object. By passing values near the extremes of the float or double range to `String::concat(float)`, `String::concat(double)`, `String::operator+=()`, or the `+` operator with a float/double operand, `dtostrf()` writes beyond the fixed-size stack buffer, causing memory corruption and denial of service. Under specific conditions, this could enable arbitrary code execution on AVR-based Arduino boards. The fix is included starting from the `1.8.8 `release.
Title ArduinoCore-AVR: Stack-Based Buffer Overflow in String float/double concatenation handler
Weaknesses CWE-120
References
Metrics cvssV4_0

{'score': 6.9, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N'}

Weaknesses
  • CWE-120

    Buffer Copy without Checking Size of Input ('Classic Buffer Overflow')

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Sep 14, 2026, 6:17 PM
Reserved
May 21, 2026, 3:33 PM
Status
Deferred
Published
Sep 11, 2026, 9:17 PM
Modified
Sep 30, 2026, 7:57 PM