CVE-2025-69209: arduino ArduinoCore-avr · Classic Buffer Overflow
Affects arduino ArduinoCore-avrSource CVE Database V5
Not known to be exploited · CVSS 6.9 Medium : upgrade to 1.8.7 when convenient.
Data as of 26 Oct 2026, 06:26 UTC
- EPSS
- 0.1% chance of exploitation in 30 days – higher than 7% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 1.8.7
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:NExploitation evidence
Disclosed: evidence found.
CVE published 21 Jan 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 2026-10-26.
What to do
Upgrade ArduinoCore-avr and arduino/ArduinoCore-avr to 1.8.7.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| arduinoArduinoCore-avr | Affected
| Fixed in
|
GitHubarduino/ArduinoCore-avrpkg:github/arduino/ArduinoCore-avrOther threats | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
European organizations should immediately verify if they use ArduinoCore-avr versions earlier than 1.8.7 in any embedded or IoT devices. The primary mitigation is to upgrade all affected Arduino AVR boards and development environments to version 1.8.7 or later, which contains the patch preventing buffer overflow. Additionally, organizations should audit all code that performs floating-point to string conversions with high precision to ensure no unsafe parameters are passed. Implementing strict input validation and limiting decimalPlaces values can reduce risk. For deployed devices where firmware updates are challenging, consider isolating vulnerable devices on segmented networks to limit potential impact. Monitoring device logs for crashes or anomalous behavior may help detect exploitation attempts. Finally, incorporate secure coding practices and regular vulnerability assessments in embedded device development lifecycles to prevent similar issues.
Description
ArduinoCore-avr contains the source code and configuration files of the Arduino AVR Boards platform. A vulnerability in versions prior to 1.8.7 allows an attacker to trigger a stack-based buffer overflow when converting floating-point values to strings with high precision. By passing very large `decimalPlaces` values to the affected String constructors or concat methods, the `dtostrf` function writes beyond fixed-size stack buffers, causing memory corruption and denial of service. Under specific conditions, this could enable arbitrary code execution on AVR-based Arduino boards. ### Patches - The Fix is included starting from the `1.8.7` release available from the following link [ArduinoCore-avr v1.8.7](https://github.com/arduino/ArduinoCore-avr) - The Fixing Commit is available at the following link [1a6a417f89c8901dad646efce74ae9d3ddebfd59](https://github.com/arduino/ArduinoCore-avr/pull/613/commits/1a6a417f89c8901dad646efce74ae9d3ddebfd59) ### References - [ASEC-26-001 ArduinoCore-avr vXXXX Resolves Buffer Overflow Vulnerability](https://support.arduino.cc/hc/en-us/articles/XXXXX) ### Credits - Maxime Rossi Bellom and Ramtine Tofighi Shirazi from SecMate (https://secmate.dev/)
References
- github.com/arduino/ArduinoCore-avr/security/advisories/GHSA-pvx3-fm7w-6hjm (opens in a new tab)
- github.com/arduino/ArduinoCore-avr/pull/613 (opens in a new tab)
- github.com/arduino/ArduinoCore-avr/commit/82a8ad2fb33911d8927c7af22e0472b94325d1a7 (opens in a new tab)
- github.com/arduino/ArduinoCore-avr/releases/tag/1.8.7 (opens in a new tab)
- support.arduino.cc/hc/en-us/articles/24985906702748-ASEC-26-001-ArduinoCore-AVR-v1-8-7-Resolves-Stack-Based-Buffer-Overflow-Vulnerability (opens in a new tab)