OpenWrt 25.12.1 - Service Release
Hauke Mehrtens
hauke at hauke-m.de
Wed Mar 18 16:13:16 PDT 2026
Hi,
The OpenWrt community is proud to announce the first service release of
the OpenWrt 25.12 stable series.
Download firmware images using the OpenWrt Firmware Selector:
* https://firmware-selector.openwrt.org/?version=25.12.1
Download firmware images directly from our download servers:
* https://downloads.openwrt.org/releases/25.12.1/targets/
Main changes between OpenWrt 25.12.0 and OpenWrt 25.12.1
=========================================================
Only the main changes are listed below. See the [full
changelog](https://openwrt.org/releases/25.12/changelog-25.12.1) for
details.
Security fixes
==============
OpenWrt components (Trail of Bits audit, February 2026):
* CVE-2026-30871: Stack buffer overflow in umdns DNS PTR query
handling (HIGH)
* CVE-2026-30872: Stack buffer overflow in umdns IPv6 reverse DNS
lookup (HIGH)
* CVE-2026-30873: Memory leak in jsonpath when processing strings,
labels, and regexp tokens (LOW)
* CVE-2026-30874: Command execution via PATH environment variable
filter bypass in procd (LOW)
LuCI:
* CVE-2026-32721: Possible XSS attack via malicious SSID in LuCI WiFi
scan modal (HIGH)
Additional hardening from the same Trail of Bits audit (no CVE assigned):
* odhcpd: fix stack buffer overflow in DHCPv6 Identity Association
logging
* procd: fix out-of-bounds write in cgroup path building and cgroup
rule application
Device support
==============
* airoha: fix EN7581 PCIe initialization and add x2 (2-lane) link
support — improves PCIe reliability and unlocks full bandwidth for
affected devices
* ath79: TP-Link RE355 v1, RE450 v1/v2: fix partition alignment to
prevent configuration loss on sysupgrade
* ipq40xx: Devolo Magic 2 WiFi next: enable device support
* ipq40xx: re-enable MeshPoint.One target
* ipq806x: AP3935: fix U-Boot NVMEM layout
* lantiq: fix GPIO expander clock (gpio-stp-xway) — restores correct
LED and GPIO behaviour on affected devices
* lantiq: fix missing WAN MAC address assignment on some devices
* mediatek: Cudy M3000: add support for hardware variant with
Motorcomm YT8821 PHY (previously only the Realtek PHY variant was supported)
* mediatek: TP-Link BE450: fix 10GbE PHY reset timing that caused
intermittent boot stalls, add missing WLAN toggle button, fix reported
memory size
* microchipsw: Novarq Tactical 1000: fix swapped SFP I2C buses for
ports 1 and 3 — fixes SFP EEPROM read failures
* ramips: Keenetic KN-1910: fix sysupgrade functionality
* realtek: RTL838x-based switches: fix non-functional reboot
* treewide: Linksys devices: fix MAC address assignment
WiFi fixes and improvements
============================
* mac80211: fix crash triggered by Channel Switch Announcement (CSA)
when AP VLAN interfaces are in use
* mt76: add MT7990 firmware support (new MediaTek WiFi 7 chipset)
* mt76: mt7915: fix power save mode handling
* mt76: mt7921/MT7902: add MT7902e MCU and DMA layout support
* mt76: mt7996/mt7992: fix crash in transmit path, fix out-of-bounds
access during hardware restart, improve MLO/CSA and radar detection support
* wifi-scripts: fix incorrect VHT160 capability advertisement — was
incorrectly set on non-160 MHz AP configurations, degrading station
upload speed (https://github.com/openwrt/openwrt/issues/22435)
* wifi-scripts: fix malformed wpa_supplicant config when 802.1X EAP
credentials (identity, password, certificates) contain spaces
(https://github.com/openwrt/openwrt/issues/22212)
Web interface (LuCI) and system fixes
======================================
* luci-mod-network: fix XSS vulnerability in WiFi scan modal
(CVE-2026-32721)
* ustream-ssl (OpenSSL variant): fix use-after-free crash causing
uhttpd (the LuCI web server) to crash under high load
(https://github.com/openwrt/openwrt/issues/19349)
Networking and system fixes
============================
* firewall4: set as the preferred firewall package over the legacy
firewall package
* iptables: prefer the nftables-backed variants (iptables-nft,
ip6tables-nft) when iptables is pulled in as a dependency
* kernel: CAKE QoS scheduler fixes — avoid unnecessary
synchronization overhead when running without a rate limit, fix DiffServ
rate scaling
* kernel: SFP: improve Huawei MA5671a module support — module is now
accessible even when no fiber is connected
* odhcpd: fix segfault when disabling a DHCP interface, fix DHCPv4
lease tree corruption, fix truncated field in DHCPv6 lease queries, fix
DNS search list padding
* ppp: fix potential memory safety issue (undefined behavior in
memcpy with overlapping buffers); remove the MRU limit patch for PPPoE
connections (https://github.com/ppp-project/ppp/pull/573)
Package manager (apk)
======================
* apk: update to version 3.0.5 with several OpenWrt-specific bug fixes
* apk: add `--force-reinstall` option to reinstall already-installed
packages without requiring a version change
Core component updates
=======================
* apk: update from 3.0.2 to 3.0.5
* jsonfilter: update from 2025-10-04 to 2026-03-16 (fixes CVE-2026-30873)
* libubox: update from 2026-02-13 to 2026-03-13 (ABI version
stabilized for 25.12 stable series)
* Linux kernel: update from 6.12.71 to 6.12.74
* odhcpd: update from 2026-01-19 to 2026-03-16
* omcproxy: update from 2025-10-04 to 2026-03-07
* procd: update from 2026-02-20 to 2026-03-14 (fixes CVE-2026-30874)
* umdns: update from 2025-10-04 to 2026-02-06 (fixes CVE-2026-30871,
CVE-2026-30872)
* ustream-ssl: update from 2025-10-03 to 2026-03-01
Upgrading to 25.12.1
=====================
Upgrading from 24.10 to 25.12 should be transparent on most devices, as
most configuration data has either remained the same or will be
translated correctly on first boot by the package init scripts.
For upgrades within the OpenWrt 25.12 stable series, [Attended
Sysupgrade](https://openwrt.org/docs/guide-user/installation/attended.sysupgrade)
is also supported, which allows preserving the installed packages.
* Sysupgrade from 23.05 or earlier to 25.12 is not officially supported.
* Cron log level was fixed in busybox.
`system. at system[0].cronloglevel` should be set to `7` for normal
logging. `7` is the default now. If this option is not set, the default
is used and no manual action is needed.
https://github.com/openwrt/openwrt/commit/fc0c518a88e68d3deef04bec73b33d35186d6546
* Bananapi BPI-R4: Interface `eth1` was renamed to `sfp-lan` or
`lan4`, and interface `eth2` was renamed to `sfp-wan` to match the
labels. You have to upgrade without saving the configuration.
https://github.com/openwrt/openwrt/commit/cd8dcfef378044a1687adfa3738f01f9a9622baf
* **TP-Link RE355 v1, RE450 v1 and RE450 v2:** The partition layout
and block size changed in this release to fix configuration loss on
sysupgrade. Users upgrading from OpenWrt 25.12.0 or earlier must use
`sysupgrade -F` to force the upgrade. The image must not exceed 5.875 MB
(6016 KiB).
Known issues
============
* Zyxel EX5601-T0: the WAN interface was renamed from `eth1` to `wan`
— check and update your network configuration after upgrading.
* Pixel 10 phones have problems connecting to WPA3-protected WiFi 6
APs. https://github.com/openwrt/openwrt/issues/21486
* 802.11r Fast Transition (FT) causes connection problems with some
WiFi clients when WPA3 is used.
https://github.com/openwrt/openwrt/issues/22200
* SQM CAKE MQ (`cake_mq`): throughput may be unexpectedly low on some
configurations after the scheduler fixes in this release.
https://github.com/openwrt/openwrt/issues/22344
* 160 MHz channel width cannot be configured.
https://github.com/openwrt/openwrt/issues/22481
-----------------
Full release notes and upgrade instructions are available at
https://openwrt.org/releases/25.12/notes-25.12.1
In particular, make sure to read the known issues before upgrading:
https://openwrt.org/releases/25.12/notes-25.12.1#known_issues
For a detailed list of all changes, refer to
https://openwrt.org/releases/25.12/changelog-25.12.1
To download the 25.12.1 images, navigate to:
https://downloads.openwrt.org/releases/25.12.1/targets/
Use OpenWrt Firmware Selector to download:
https://firmware-selector.openwrt.org?version=25.12.1
As always, a big thank you goes to all our active package maintainers,
testers, documenters and supporters.
Have fun!
The OpenWrt Community
---
To stay informed of new OpenWrt releases and security advisories, there
are new channels available:
* a low-volume mailing list for important announcements:
https://lists.openwrt.org/mailman/listinfo/openwrt-announce
* a dedicated "announcements" section in the forum:
https://forum.openwrt.org/c/announcements/14
* other announcement channels (such as RSS feeds) might be added in the
future, they will be listed at https://openwrt.org/contact
More information about the openwrt-devel
mailing list