{"id":"CVE-2026-44888","aliases":["EUVD-2026-32634","GHSA-xg85-f8qw-7c5f"],"status":"published","title":"Unauthenticated RCE via Python Config File Injection in SaveConfigFile() (Interger)","description":"Pi.Alert is a WIFI / LAN intruder detector with web service monitoring. Prior to 2026-05-07, Pi.Alert's SaveConfigFile() endpoint writes user-supplied numeric config values (e.g., SMTP_PORT) directly into\npialert.conf without validation. Since pialert.conf is loaded via Python's exec() every 3–5 minutes by the\nbackground cron process, an attacker can inject arbitrary Python code and achieve unauthenticated OS-level RCE. On\ndefault installations (PIALERT_WEB_PROTECTION = False), no credentials are required. This vulnerability is fixed in 2026-05-07.","severity":{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.0039,"percentile":0.3356,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-94"],"published":"2026-05-27T19:14:43Z","modified":"2026-10-28T02:30:59Z","products":[{"vendor":"leiweibau","product":"pi.alert"}],"references":[{"url":"https://github.com/leiweibau/Pi.Alert/security/advisories/GHSA-xg85-f8qw-7c5f","tags":["x_refsource_CONFIRM","exploit","advisory"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/44xxx/CVE-2026-44888.json","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-44888","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2026-44888","title":"Unauthenticated RCE via Python Config File Injection in SaveConfigFile() (Interger)","description":"Pi.Alert is a WIFI / LAN intruder detector with web service monitoring. Prior to 2026-05-07, Pi.Alert's SaveConfigFile() endpoint writes user-supplied numeric config values (e.g., SMTP_PORT) directly into\npialert.conf without validation. Since pialert.conf is loaded via Python's exec() every 3–5 minutes by the\nbackground cron process, an attacker can inject arbitrary Python code and achieve unauthenticated OS-level RCE. On\ndefault installations (PIALERT_WEB_PROTECTION = False), no credentials are required. This vulnerability is fixed in 2026-05-07.","status":"published","published":"2026-05-27T19:14:43.897Z","modified":"2026-05-28T13:23:20.875Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"cna"}],"cwes":["CWE-94"],"updated_at":"2026-11-02T13:42:49.132798Z"}],"euvd":[{"id":"EUVD-2026-32634","description":"Pi.Alert is a WIFI / LAN intruder detector with web service monitoring. Prior to 2026-05-07, Pi.Alert's SaveConfigFile() endpoint writes user-supplied numeric config values (e.g., SMTP_PORT) directly into\npialert.conf without validation. Since pialert.conf is loaded via Python's exec() every 3–5 minutes by the\nbackground cron process, an attacker can inject arbitrary Python code and achieve unauthenticated OS-level RCE. On\ndefault installations (PIALERT_WEB_PROTECTION = False), no credentials are required. This vulnerability is fixed in 2026-05-07.","status":"published","published":"2026-05-27T19:14:43Z","modified":"2026-05-28T13:23:20Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T18:21:03.0662Z"}],"nvd":[{"id":"CVE-2026-44888","description":"Pi.Alert is a WIFI / LAN intruder detector with web service monitoring. Prior to 2026-05-07, Pi.Alert's SaveConfigFile() endpoint writes user-supplied numeric config values (e.g., SMTP_PORT) directly into\npialert.conf without validation. Since pialert.conf is loaded via Python's exec() every 3–5 minutes by the\nbackground cron process, an attacker can inject arbitrary Python code and achieve unauthenticated OS-level RCE. On\ndefault installations (PIALERT_WEB_PROTECTION = False), no credentials are required. This vulnerability is fixed in 2026-05-07.","status":"published","published":"2026-05-27T20:16:38.04Z","modified":"2026-10-26T11:10:00.157Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"secondary"}],"cwes":["CWE-94"],"updated_at":"2026-11-02T14:12:20.885865Z"}],"osv":[{"id":"CVE-2026-44888","title":"Unauthenticated RCE via Python Config File Injection in SaveConfigFile() (Interger)","description":"Pi.Alert is a WIFI / LAN intruder detector with web service monitoring. Prior to 2026-05-07, Pi.Alert's SaveConfigFile() endpoint writes user-supplied numeric config values (e.g., SMTP_PORT) directly into\npialert.conf without validation. Since pialert.conf is loaded via Python's exec() every 3–5 minutes by the\nbackground cron process, an attacker can inject arbitrary Python code and achieve unauthenticated OS-level RCE. On\ndefault installations (PIALERT_WEB_PROTECTION = False), no credentials are required. This vulnerability is fixed in 2026-05-07.","status":"published","published":"2026-05-27T19:14:43.897Z","modified":"2026-10-28T02:30:59.187929809Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-94"],"updated_at":"2026-11-02T15:45:05.172514Z"}]}}
