CVE-2026-11826
HighCVSS 8.8Exploitation Probability (EPSS)
Elevated risk55th percentile - higher than 55% of all known CVEs
Summary
Heap-based buffer overflow in getData() function in OpenPLC_v3 (webserver/core/modbus_master.cpp). Function reads data between delimiters into a buffer without size check, allowing authenticated attacker to send crafted HTTP POST to /modbus with oversized device_name, causing heap corruption.
Risk Assessment
Attack can cause PLC process crash (denial of service) and potentially overwrite adjacent configuration fields, threatening stability and security of industrial control.
Recommendation
Migrate to OpenPLC Runtime v4 as v3 will not be patched (repository archived). Restrict web interface access to trusted users only.
Related vulnerabilities
- CVE-2026-124057Critical
A security flaw has been discovered in TOTOLINK CA300-PoE 6.2c.884. This impacts the function setWiFiMultipleConfig of the file /cgi-bin/cstecgi.cgi. Manipulation of the argument Key1Str1 results in a buffer overflow. The attack can be initiated remotely. The exploit has been released to the public and may be used for attacks.
- CVE-2026-123966Critical
A vulnerability was found in Tenda AC19 version 16.03.10.07 in the saveParentControlInfo function of the /goform/saveParentControlInfo file. Manipulating the deviceId argument causes a heap-based buffer overflow. The attack can be carried out remotely, and the exploit has been publicly disclosed.
- CVE-2026-120984Critical
A flaw was found in the Keycloak server's client management component. When a client is created or imported with authorization services enabled, the system fails to properly clear an internal session attribute used during setup. An authenticated attacker with client management permissions can bypass security controls and upload a malicious JavaScript policy that executes on the server.
- CVE-2026-122041Critical
The Checkout Field Editor for WooCommerce (Pro) plugin for WordPress up to and including 3.8.0 is vulnerable to unauthorized deletion of arbitrary attachments due to a missing capability/ownership check in the ajax_remove_uploaded() function. The handler is registered for both wp_ajax and wp_ajax_nopriv and gated solely by the 'file_handling_nonce' nonce, which is exposed in the public checkout page markup.
- CVE-2026-119075Critical
The Registration Form for WooCommerce plugin for WordPress is vulnerable to privilege escalation due to a missing allow-list check in FormHandler::validate_checkout_fields() in versions up to and including 1.1.4. The checkout registration path stores the raw $_POST['user_roles'] value without validation, and add_user_data() injects it as the new account's role.
- CVE-2026-118066Critical
The LatePoint plugin for WordPress is vulnerable to authentication bypass via account takeover in versions up to and including 5.7.6. OsModel::build_conditions_query() compares WHERE-clause values against literal strings 'IS NULL' and 'IS NOT NULL' and concatenates a match directly into SQL without binding, allowing unauthenticated attackers to send params[password_reset_token]=IS NOT NULL to the public customer_cabinet__change_password AJAX route and overwrite the lowest-id customer's password.
- CVE-2026-104014Critical
The Naimur Email OTP Verification for WooCommerce plugin is vulnerable to authentication bypass in versions up to and including 2.1.0. The password-reset finalization endpoint authorizes the reset solely by the presence of a database row marking an email as 'VERIFIED', with no timestamp check, session binding, or per-reset token, and the scheduled cleanup cron has no handler so it never runs.
- CVE-2026-123961Critical
A vulnerability was detected in TOTOLINK CA300-PoE version 6.2c.884 affecting the setWiFiBasicConfig function in /cgi-bin/cstecgi.cgi. Manipulation of the KeyStr argument leads to a buffer overflow. The attack can be initiated remotely and a public exploit is available.
- CVE-2026-123960Critical
In TOTOLINK CA300-PoE version 6.2c.884, the setWanConfig function in /cgi-bin/cstecgi.cgi improperly handles the pppoeUser/priDns/secDns arguments, leading to a buffer overflow. The vulnerability can be exploited remotely, and a public exploit is already available.
- CVE-2026-123959Critical
In TOTOLINK CA300-PoE version 6.2c.884, the setLanguageCfg function in /cgi-bin/cstecgi.cgi improperly processes the langType argument, resulting in a buffer overflow. The attack can be initiated remotely, and the exploit has been publicly released.
Original NVD description (English source)
OpenPLC_v3 contains a heap-based buffer overflow in the getData() function in webserver/core/modbus_master.cpp. getData() reads characters between two delimiters into a caller-supplied buffer with no size parameter and no bounds check. In parseConfig() the function is invoked with the 100-byte heap-allocated MB_device.dev_name field. An authenticated attacker with access to the OpenPLC web interface can send a crafted HTTP POST to the /modbus endpoint with an oversized device_name value; the value is persisted to mbconfig.cfg and parsed on load, overflowing dev_name and overwriting adjacent struct fields (protocol at offset 108, dev_address at offset 109, ip_port at offset 210). A 200-byte payload writes 100 bytes past the allocation. The result is heap corruption leading to runtime crash and denial of service of the PLC process control loop, with attacker-controlled overwrite of adjacent configuration fields. The upstream repository was archived on 2026-04-04 and no fix is expected; the vendor has confirmed the issue does not affect OpenPLC Runtime v4.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

