Executive brief
Pi.Alert is a network security tool used to detect intruders on Wi-Fi and local networks. A vulnerability in its configuration management allows an attacker to take complete control of the device without needing any login credentials. By sending a specially crafted request to the device's web interface, an attacker can execute malicious commands, potentially leading to data theft, network surveillance, or a total system takeover.
Technical details
A code injection vulnerability exists in Pi.Alert's `SaveConfigFile()` endpoint within `front/php/server/files.php`. The application fails to validate or sanitize numeric configuration parameters (such as `SMTP_PORT`, `REPORT_MQTT_PORT`, or `AUTO_DB_BACKUP_KEEP`) before writing them to `pialert.conf`. Because the background cron process executes `pialert.py`, which loads this configuration file using Python's `exec()` function every 3–5 minutes, an attacker can inject arbitrary Python code. On default installations where `PIALERT_WEB_PROTECTION` is disabled, this can be exploited over the network without authentication to achieve OS-level Remote Code Execution (RCE) as the user running the service (often root). The issue was addressed in the 2026-05-07 update.
Affected products
- leiweibau Pi.Alert Prior to 2026-05-07
Timeline
- 2026-05-07: patched: Vulnerability fixed in version released on this date.
- 2026-05-08: advisory: GitHub Security Advisory published.
- 2026-05-27: disclosed: CVE-2026-44888 published to NVD.