Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Network-reachable via OPC UA protocol; no authentication at protocol level in default configurations; DoS only with no confidentiality or integrity impact.
Primary rating from Vendor (mitre).
CVSS VectorVendor: mitre
Lifecycle Timeline
4DescriptionCVE.org
Buffer Overflow vulnerability in Systerel S2OPC 1.7.3 allows a remote attacker to cause a denial of service via the Alarm/Conditions wrapper when processing PublishResponse EventNotificationList data
AnalysisAI
Heap-based buffer overflow in Systerel S2OPC Toolkit 1.7.3 enables remote denial of service by sending a crafted OPC UA PublishResponse containing malformed EventNotificationList data to the Alarm/Conditions client wrapper. The affected code paths - libs2opc_client_alarm_conditions.c, state_machine.c, and sopc_event_manager.c - process incoming subscription notification data without adequate bounds checking, allowing a malicious or compromised OPC UA server to crash any connected S2OPC client. No public exploit identified at time of analysis, and no CISA KEV listing; however, the CVSS 7.5/High rating and unauthenticated network vector make this a meaningful risk in OPC UA-enabled industrial environments.
Technical ContextAI
S2OPC is an open-source OPC Unified Architecture (OPC UA) toolkit developed by Systerel, commonly deployed in industrial control system (ICS) and operational technology (OT) environments as a client/server library. CWE-122 (Heap-based Buffer Overflow) indicates the flaw resides in dynamically allocated heap memory - specifically in the Alarm and Conditions subscription wrapper. When an OPC UA client using S2OPC subscribes to Alarm/Condition events and receives a PublishResponse from a server, the EventNotificationList payload is processed by libs2opc_client_alarm_conditions.c and routed through the internal state_machine.c and sopc_event_manager.c. Insufficient validation of the incoming notification data allows oversized or malformed event fields to overflow heap buffers, corrupting memory and crashing the client process. The affected CPE strings from NVD/EUVD are recorded as 'n/a' (no formal CPE assigned), so the exact product enumeration must be derived from the Systerel GitHub repository tag S2OPC_Toolkit_1.7.3.
RemediationAI
Upstream fix is tracked by Systerel in GitLab work item #1781 (https://gitlab.com/systerel/S2OPC/-/work_items/1781); a patched release version is not independently confirmed from available data. Organizations should monitor the Systerel S2OPC repository at https://github.com/systerel/S2OPC for a release newer than 1.7.3 that addresses this issue. As a compensating control, restrict S2OPC client connectivity to trusted, authenticated OPC UA servers using OPC UA Security Mode Sign or SignAndEncrypt with verified server certificates, which would prevent a rogue server from injecting malicious PublishResponse data - note this may require certificate infrastructure changes in environments currently using NoSecurity mode. Additionally, deploy network-level controls (firewall rules, OPC UA-aware proxies) to block connections from untrusted or unexpected OPC UA server endpoints. If the Alarm/Conditions subscription feature is not operationally required, disabling that wrapper integration removes the vulnerable code path entirely; verify with Systerel whether a build-time flag or API-level opt-out exists for this subsystem.
LibreNMS before 24.10.0 allows a remote attacker to execute arbitrary code via OS command injection involving AboutContr
Reachable assertion in Open5GS up to version 2.7.6 allows remote unauthenticated attackers to crash the Diameter CER han
A Command Injection issue in the payload build page in BYOB (Build Your Own Botnet) 2.0 allows attackers to execute arbi
Denial of service in Open5GS 2.7.6 and earlier allows network-adjacent attackers with low-privilege Diameter Gx peer acc
Denial of service in Open5GS HSS (Home Subscriber Server) versions 2.7.0 through 2.7.6 is triggered remotely by manipula
Remote command injection in Control Web Panel allows unauthenticated attackers to execute arbitrary OS commands as root
LINQPad before 5.52.01 Pro edition is vulnerable to Unsafe Deserialization in LINQPad.AutoRefManager::PopulateFromCache(
Remote code execution in dash-uploader (Python package for Plotly Dash) versions 0.1.0 through 0.7.0a2 allows unauthenti
Command injection in LiteLLM 1.18.10 lets attackers who can configure MCP (Model Context Protocol) servers supply arbitr
SQL injection in AzuraCast's backup restore flow (versions up to and including 0.23.7) lets an attacker achieve privileg
Arbitrary file read in Yu AI Code Mother v4.3 lets anonymous, remote attackers retrieve files outside the intended previ
Remote code execution in APScheduler (all versions through 3.10.x and 4.0.0a5) is achievable when applications deseriali
Same weakness CWE-122 – Heap-based Buffer Overflow
View allSame technique Buffer Overflow
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-53670
GHSA-5rwg-mfvp-wq7w