2NGA003256
Vulnerability from csaf_abb - Published: 2026-10-30 00:30 - Updated: 2026-10-30 00:30PHP uses longjmp() for out-of-memory (OOM) errors to exit the current context and abort handling of the request. Some contexts may not properly account for this scenario and leave request memory in an uninitialized state before performing an allocation. The subsequent request cleanup procedure may read or branch on this memory. Multiple OOM strategies can consistently trigger this condition and lead to remote code execution (RCE).
CWE-1325 - Improperly Controlled Sequential Memory Allocation| Product | Identifier | Version | Remediation |
|---|---|---|---|
|
ABB Netcon 100 GW102 2.00.0<=2.12.034
ABB / Netcon 100 / GW102
|
2.00.0<=2.12.034 |
Mitigation
Vendor Fix
|
|
|
ABB Netcon 200 GWDD-02 2.00.000<=3.02.050
ABB / Netcon 200 / GWDD-02
|
2.00.000<=3.02.050 |
Mitigation
Vendor Fix
|
|
|
ABB Netcon 200 GWDD-03 2.00.000<=3.02.050
ABB / Netcon 200 / GWDD-03
|
2.00.000<=3.02.050 |
Mitigation
Vendor Fix
|
|
|
ABB Netcon 200 GWDC-06 2.00.000<=3.02.050
ABB / Netcon 200 / GWDC-06
|
2.00.000<=3.02.050 |
Mitigation
Vendor Fix
|
|
|
ABB Netcon 200 GWDD-A03 A103.03.000<=A103.03.010
ABB / Netcon 200 / GWDD-A03
|
A103.03.000<=A103.03.010 |
Mitigation
Vendor Fix
|
|
|
ABB Netcon 500 GW502A 6.00.000<=7.06.001
ABB / Netcon 500 / GW502A
|
6.00.000<=7.06.001 |
Mitigation
Vendor Fix
|
|
|
ABB NAM 1.21.00<=1.31.000
ABB / NAM
|
1.21.00<=1.31.000 |
Mitigation
Vendor Fix
|
PHP has various global state that temporarily points into request memory. In some scenarios, global state may not be correctly reset or may be repopulated after being reset. The global state may then refer to request memory even after it has been freed. Subsequent requests may read or branch on this stale state before it is fully initialized. Multiple strategies can trigger this condition and produce remote code execution (RCE).
CWE-1325 - Improperly Controlled Sequential Memory Allocation{
"document": {
"category": "csaf_security_advisory",
"csaf_version": "2.0",
"distribution": {
"tlp": {
"label": "WHITE"
}
},
"lang": "en",
"notes": [
{
"category": "summary",
"text": "ABB is aware of publicly reported information concerning recently disclosed PHP vulnerabilities that impact the product versions listed as affected in the advisory. \n\nAn attacker who successfully exploited this vulnerability may insert and run arbitrary code on affected products.\n",
"title": "Summary"
},
{
"category": "other",
"text": "For any installation of software-related ABB products we strongly recommend the following (non-exhaustive) list of cyber security practices:\n\n- Isolate special purpose networks (e.g. for automation systems) and remote devices behind firewalls and separate them from any general-purpose network (e.g. office or home networks).\n\n- Install physical controls so no unauthorized personnel can access your devices, components, peripheral equipment, and networks.\n\n- Never connect programming software or computers containing programing software to any network other than the network for the devices that it is intended for.\n\n- Scan all data imported into your environment before use to detect potential malware infections.\n\n- Minimize network exposure for all applications and endpoints to ensure that they are not accessible from the Internet unless they are designed for such exposure and the intended use requires such.\n\n- Ensure all nodes are always up to date in terms of installed software, operating system, and firmware patches as well as anti-virus and firewall.\n\n- When remote access is required, use secure methods, such as Virtual Private Networks (VPNs). Recognize that VPNs may have vulnerabilities and should be updated to the most current version available. Also, understand that VPNs are only as secure as the connected devices.",
"title": "General security recommendations"
},
{
"category": "other",
"text": "For additional instructions and support please contact your local ABB service organization. For contact information, see www.abb.com/contactcenters.\n\nInformation about ABB\u2019s cyber security program and capabilities can be found at www.abb.com/cybersecurity.\n",
"title": "Support"
},
{
"category": "legal_disclaimer",
"text": "The information in this document is subject to change without notice, and should not be construed as a commitment by ABB.\n\nABB provides no warranty, express or implied, including warranties of merchantability and fitness for a particular purpose, for the information contained in this document, and assumes no responsibility for any errors that may appear in this document. In no event shall ABB or any of its suppliers be liable for direct, indirect, special, incidental or consequential damages of any nature or kind arising from the use of this document, or from the use of any hard-ware or software described in this document, even if ABB or its suppliers have been advised of the possibility of such damages.\n\nThis document and parts hereof must not be reproduced or copied without written permission from ABB, and the contents hereof must not be imparted to a third party nor used for any unauthorized purpose.\n\nAll rights to registrations and trademarks reside with their respective owners.\n",
"title": "Notice"
},
{
"category": "other",
"text": "ABB has a rigorous internal cyber security continuous improvement process which involves regular testing with industry leading tools and periodic assessments to identify potential product issues. Occasionally an issue is determined to be a design or coding flaw with implications that may impact product cyber security.\n\nWhen a potential product vulnerability is identified or reported, ABB immediately initiates our vulnerability handling process. This entails validating if the issue is in fact a product issue, identifying root causes, determining what related products may be impacted, developing a remediation, and notifying end users and governmental organizations (e.g. ICS-CERT).\n\nThe resulting Cyber Security Advisory intends to notify customers of the vulnerability and provide details on which products are impacted, how to mitigate the vulnerability or explain workarounds that minimize the potential risk as much as possible. The release of a Cyber Security Advisory should not be misconstrued as an affirmation or indication of an active threat or ongoing campaign targeting the products mentioned here. If ABB is aware of any specific threats, it will be clearly mentioned in the communication.\n\nThe publication of this Cyber Security Advisory is an example of ABB\u2019s commitment to the user community in support of this critical topic. Responsible disclosure is an important element in the chain of trust we work to maintain with our many customers. The release of an Advisory provides timely information which is essential to help ensure our customers are fully informed.",
"title": "Purpose"
},
{
"category": "faq",
"text": "What causes these vulnerabilities? \n- These vulnerabilities are caused by flaws in the internal memory management of the PHP component in the products listed in this advisory. These flaws are often referred to collectively as \u2018PHP2Shell\u2019. \n\nWhat is PHP? \nPHP is a widely used technology and a scripting language, e.g., for implementing web-based user interfaces. \n\nWhat might an attacker use these vulnerabilities to do? \n- An attacker who successfully exploited these vulnerabilities could take control of the system node or insert and run arbitrary code. \n\nHow could an attacker exploit these vulnerabilities? \n- An attacker could try to exploit the vulnerabilities by accessing the system when certain conditions are met. This would require that the attacker has access to the system network, by connecting to the network either directly or e.g., through a wrongly configured or penetrated firewall. Recommended practices help mitigate such attacks, see section Mitigating Factors above. \n\nCould these vulnerabilities be exploited remotely? \n- Yes, an attacker who has network access to an affected system node could exploit this vulnerability. Recommended practices include that process control systems are physically protected, have no direct connections to the Internet, and are separated from other networks by means of a firewall system that has a minimal number of ports exposed. \n\nCan functional safety be affected by the exploit of these vulnerabilities? \n- If an attacker successfully compromises a system that performs safety-related functions or influences safety-critical processes, functional safety could be affected. \n\nWhen this security advisory was issued, had these vulnerabilities been publicly disclosed? \n- Yes, these vulnerabilities have been publicly disclosed. \n\nWhen this security advisory was issued, had ABB received any reports that these vulnerabilities were being exploited? \n- No, ABB had not received any information indicating that these vulnerabilities had been exploited when this security advisory was originally issued. ",
"title": "Frequently asked questions"
}
],
"publisher": {
"category": "vendor",
"name": "ABB PSIRT",
"namespace": "https://www.abb.com/global/en/company/about/cybersecurity/alerts-and-notifications"
},
"references": [
{
"category": "self",
"summary": "ABB CYBERSECURITY ADVISORY - PDF version ",
"url": "https://search.abb.com/library/Download.aspx?DocumentID=2NGA003256\u0026LanguageCode=en\u0026DocumentPartId=pdf\u0026Action=Launch"
},
{
"category": "self",
"summary": "ABB CYBERSECURITY ADVISORY - CSAF version ",
"url": "https://psirt.abb.com/csaf/2026/2nga003256.json"
}
],
"title": "Netcontrol 100, 200, 500, NAM PHP2Shell Critical Vulnerabilities",
"tracking": {
"current_release_date": "2026-10-30T00:30:00.000Z",
"generator": {
"date": "2026-10-30T15:12:00.268Z",
"engine": {
"name": "Secvisogram",
"version": "2.6.16"
}
},
"id": "2NGA003256",
"initial_release_date": "2026-10-30T00:30:00.000Z",
"revision_history": [
{
"date": "2026-10-30T00:30:00.000Z",
"legacy_version": "A",
"number": "1",
"summary": "Initial version."
}
],
"status": "final",
"version": "1"
}
},
"product_tree": {
"branches": [
{
"branches": [
{
"branches": [
{
"branches": [
{
"category": "product_version_range",
"name": "2.00.0\u003c=2.12.034 ",
"product": {
"name": "ABB Netcon 100 GW102 2.00.0\u003c=2.12.034 ",
"product_id": "AV1"
}
}
],
"category": "product_name",
"name": "GW102"
}
],
"category": "product_family",
"name": "Netcon 100"
},
{
"branches": [
{
"branches": [
{
"category": "product_version_range",
"name": "2.00.000\u003c=3.02.050 ",
"product": {
"name": "ABB Netcon 200 GWDD-02 2.00.000\u003c=3.02.050 ",
"product_id": "AV2"
}
}
],
"category": "product_name",
"name": "GWDD-02"
},
{
"branches": [
{
"category": "product_version_range",
"name": "2.00.000\u003c=3.02.050 ",
"product": {
"name": "ABB Netcon 200 GWDD-03 2.00.000\u003c=3.02.050 ",
"product_id": "AV3"
}
}
],
"category": "product_name",
"name": "GWDD-03"
},
{
"branches": [
{
"category": "product_version_range",
"name": "2.00.000\u003c=3.02.050 ",
"product": {
"name": "ABB Netcon 200 GWDC-06 2.00.000\u003c=3.02.050 ",
"product_id": "AV4"
}
}
],
"category": "product_name",
"name": "GWDC-06"
},
{
"branches": [
{
"category": "product_version_range",
"name": "A103.03.000\u003c=A103.03.010 ",
"product": {
"name": "ABB Netcon 200 GWDD-A03 A103.03.000\u003c=A103.03.010 ",
"product_id": "AV5"
}
}
],
"category": "product_name",
"name": "GWDD-A03"
}
],
"category": "product_family",
"name": "Netcon 200"
},
{
"branches": [
{
"branches": [
{
"category": "product_version_range",
"name": "6.00.000\u003c=7.06.001",
"product": {
"name": "ABB Netcon 500 GW502A 6.00.000\u003c=7.06.001",
"product_id": "AV6"
}
}
],
"category": "product_name",
"name": "GW502A"
}
],
"category": "product_family",
"name": "Netcon 500"
},
{
"branches": [
{
"category": "product_version_range",
"name": "1.21.00\u003c=1.31.000 ",
"product": {
"name": "ABB NAM 1.21.00\u003c=1.31.000 ",
"product_id": "AV7"
}
}
],
"category": "product_name",
"name": "NAM"
}
],
"category": "vendor",
"name": "ABB"
}
]
},
"vulnerabilities": [
{
"cve": "CVE-2026-109618",
"cwe": {
"id": "CWE-1325",
"name": "Improperly Controlled Sequential Memory Allocation"
},
"notes": [
{
"category": "description",
"text": "PHP uses longjmp() for out-of-memory (OOM) errors to exit the current context and abort handling of the request. Some contexts may not properly account for this scenario and leave request memory in an uninitialized state before performing an allocation. The subsequent request cleanup procedure may read or branch on this memory. Multiple OOM strategies can consistently trigger this condition and lead to remote code execution (RCE).",
"title": "CVE description"
}
],
"product_status": {
"known_affected": [
"AV1",
"AV2",
"AV3",
"AV4",
"AV5",
"AV6",
"AV7"
]
},
"references": [
{
"category": "external",
"summary": "NVD -CVE-2026-109618",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-109618"
}
],
"remediations": [
{
"category": "mitigation",
"details": "Mitigating factors describe conditions and circumstances that make an attack that exploits vulnerability difficult or less likely to succeed. \n\nFor Netcon 100, Netcon 200, Netcon 500 using affected WebGUI service: \n\n- Make sure that any RTU could not be accessible directly from Internet. \n\n- Restrict any network access to ports 80/443 of RTU devices. \n\n- If the WebGUI needs to be accessible, use a dedicated host for it and allow access only from a specific IP address and secure VPN tunnel. \n\n- Further action to prevent vulnerability to be exploited is to disable lighttpd service using SSH interface. Please note that without WebGUI interface, device configuration will be limited to \nLinux environment. \n\n Deactivation can be done using commands: \n - Netcon 100, when logged as user with root privileges del-service lighttpd \u0026\u0026 del-service_r lighttpd \u0026\u0026 /etc/init.d/lighttpd stop \n - Netcon 200 (GWDD-02, GWDD-03, GWDC), when logged as user with root privileges del-service lighttpd \u0026\u0026 del-service_r lighttpd \u0026\u0026 service lighttpd stop \n - Netcon 200 (GWDD-A03) sudo systemctl disable lighttpd \u0026\u0026 sudo systemctl stop lighttpd \n - Netcon 500 (GW502A), when logged as user with root privileges. Apply this change to each GW502A card in the rack \u2013 if the hardware redundancy is used del-service lighttpd \u0026\u0026 del-service_r lighttpd \u0026\u0026 service lighttpd stop \n\n- When WebGUI interface is mandatory, as example for needed configuration changes, it can be temporarily activated when running in secure channel like private APN with end to end VPN connection. Please remember to disable interface after use. \n\n Activation can be done using commands: \n - Netcon 100, when logged as user with root privileges add-service lighttpd after pokemon \u0026\u0026 add-service_r lighttpd after hmi \u0026\u0026 /etc/init.d/lighttpd start \n - Netcon 200 (GWDD-02, GWDD-03, GWDC), when logged as user with root privileges add-service lighttpd defaults \u0026\u0026 add-service_r lighttpd defaults \u0026\u0026 service lighttpd start \n - Netcon 200 (GWDD-A03) sudo systemctl enable lighttpd \u0026\u0026 sudo systemctl start lighttpd \n - Netcon 500 (GW502A), when logged as user with root privileges. Apply this change to each GW502A card in the rack \u2013 if the hardware redundancy is used add-service lighttpd before nfe \u0026\u0026 add-service_r lighttpd after nfe \u0026\u0026 service lighttpd start \n\n- Use SSH for management of the RTU to install software including patch when published or rollback lighttpd service changes when WebGUI interface is needed. \n\n- Increase the monitoring of the network, where available. \n\n\nFor Netcon Application Manager using affected Offline WebGUI service: \n\n- Make sure that Netcon Application Manager cannot be accessible directly from Internet.\n\n- Disable or remove Offline WebGUI containers. If more information is needed, please follow the manual. \n\nRefer to section General security recommendations for further advice on how to keep your system secure.",
"product_ids": [
"AV1",
"AV2",
"AV3",
"AV4",
"AV5",
"AV6",
"AV7"
]
},
{
"category": "vendor_fix",
"details": "ABB is currently investigating this vulnerability to provide adequate protection to customers. ABB will update this advisory when remediation information is available. \n\nABB recommends following the actions described in the sections Mitigating factors and General security recommendations. \n",
"product_ids": [
"AV1",
"AV2",
"AV3",
"AV4",
"AV5",
"AV6",
"AV7"
]
}
],
"scores": [
{
"cvss_v3": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "HIGH",
"availabilityRequirement": "HIGH",
"baseScore": 9.8,
"baseSeverity": "CRITICAL",
"confidentialityImpact": "HIGH",
"confidentialityRequirement": "HIGH",
"environmentalScore": 9.6,
"environmentalSeverity": "CRITICAL",
"exploitCodeMaturity": "FUNCTIONAL",
"integrityImpact": "HIGH",
"integrityRequirement": "HIGH",
"privilegesRequired": "NONE",
"remediationLevel": "UNAVAILABLE",
"reportConfidence": "CONFIRMED",
"scope": "UNCHANGED",
"temporalScore": 9.6,
"temporalSeverity": "CRITICAL",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H/E:F/RL:U/RC:C/CR:H/IR:H/AR:H",
"version": "3.1"
},
"products": [
"AV1",
"AV2",
"AV3",
"AV4",
"AV5",
"AV6",
"AV7"
]
}
],
"title": "CVE-2026-109618"
},
{
"cve": "CVE-2026-109619",
"cwe": {
"id": "CWE-1325",
"name": "Improperly Controlled Sequential Memory Allocation"
},
"notes": [
{
"category": "description",
"text": "PHP has various global state that temporarily points into request memory. In some scenarios, global state may not be correctly reset or may be repopulated after being reset. The global state may then refer to request memory even after it has been freed. Subsequent requests may read or branch on this stale state before it is fully initialized. Multiple strategies can trigger this condition and produce remote code execution (RCE).",
"title": "CVE description"
}
],
"product_status": {
"known_affected": [
"AV1",
"AV2",
"AV3",
"AV4",
"AV5",
"AV6",
"AV7"
]
},
"references": [
{
"category": "external",
"summary": "NVD -CVE-2026-109619",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-109619"
}
],
"remediations": [
{
"category": "mitigation",
"details": "Mitigating factors describe conditions and circumstances that make an attack that exploits vulnerability difficult or less likely to succeed. \n\nFor Netcon 100, Netcon 200, Netcon 500 using affected WebGUI service: \n\n- Make sure that any RTU could not be accessible directly from Internet. \n\n- Restrict any network access to ports 80/443 of RTU devices. \n\n- If the WebGUI needs to be accessible, use a dedicated host for it and allow access only from a specific IP address and secure VPN tunnel. \n\n- Further action to prevent vulnerability to be exploited is to disable lighttpd service using SSH interface. Please note that without WebGUI interface, device configuration will be limited to \nLinux environment. \n\n Deactivation can be done using commands: \n - Netcon 100, when logged as user with root privileges del-service lighttpd \u0026\u0026 del-service_r lighttpd \u0026\u0026 /etc/init.d/lighttpd stop \n - Netcon 200 (GWDD-02, GWDD-03, GWDC), when logged as user with root privileges del-service lighttpd \u0026\u0026 del-service_r lighttpd \u0026\u0026 service lighttpd stop \n - Netcon 200 (GWDD-A03) sudo systemctl disable lighttpd \u0026\u0026 sudo systemctl stop lighttpd \n - Netcon 500 (GW502A), when logged as user with root privileges. Apply this change to each GW502A card in the rack \u2013 if the hardware redundancy is used del-service lighttpd \u0026\u0026 del-service_r lighttpd \u0026\u0026 service lighttpd stop \n\n- When WebGUI interface is mandatory, as example for needed configuration changes, it can be temporarily activated when running in secure channel like private APN with end to end VPN connection. Please remember to disable interface after use. \n\n Activation can be done using commands: \n - Netcon 100, when logged as user with root privileges add-service lighttpd after pokemon \u0026\u0026 add-service_r lighttpd after hmi \u0026\u0026 /etc/init.d/lighttpd start \n - Netcon 200 (GWDD-02, GWDD-03, GWDC), when logged as user with root privileges add-service lighttpd defaults \u0026\u0026 add-service_r lighttpd defaults \u0026\u0026 service lighttpd start \n - Netcon 200 (GWDD-A03) sudo systemctl enable lighttpd \u0026\u0026 sudo systemctl start lighttpd \n - Netcon 500 (GW502A), when logged as user with root privileges. Apply this change to each GW502A card in the rack \u2013 if the hardware redundancy is used add-service lighttpd before nfe \u0026\u0026 add-service_r lighttpd after nfe \u0026\u0026 service lighttpd start \n\n- Use SSH for management of the RTU to install software including patch when published or rollback lighttpd service changes when WebGUI interface is needed. \n\n- Increase the monitoring of the network, where available. \n\n\nFor Netcon Application Manager using affected Offline WebGUI service: \n\n- Make sure that Netcon Application Manager cannot be accessible directly from Internet.\n\n- Disable or remove Offline WebGUI containers. If more information is needed, please follow the manual. \n\nRefer to section General security recommendations for further advice on how to keep your system secure.",
"product_ids": [
"AV1",
"AV2",
"AV3",
"AV4",
"AV5",
"AV6",
"AV7"
]
},
{
"category": "vendor_fix",
"details": "ABB is currently investigating this vulnerability to provide adequate protection to customers. ABB will update this advisory when remediation information is available. \n\nABB recommends following the actions described in the sections Mitigating factors and General security recommendations. \n",
"product_ids": [
"AV1",
"AV2",
"AV3",
"AV4",
"AV5",
"AV6",
"AV7"
]
}
],
"scores": [
{
"cvss_v3": {
"attackComplexity": "HIGH",
"attackVector": "NETWORK",
"availabilityImpact": "HIGH",
"baseScore": 8.1,
"baseSeverity": "HIGH",
"confidentialityImpact": "HIGH",
"environmentalScore": 7.9,
"environmentalSeverity": "HIGH",
"exploitCodeMaturity": "FUNCTIONAL",
"integrityImpact": "HIGH",
"privilegesRequired": "NONE",
"remediationLevel": "UNAVAILABLE",
"reportConfidence": "CONFIRMED",
"scope": "UNCHANGED",
"temporalScore": 7.9,
"temporalSeverity": "HIGH",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H/E:F/RL:U/RC:C",
"version": "3.1"
},
"products": [
"AV1",
"AV2",
"AV3",
"AV4",
"AV5",
"AV6",
"AV7"
]
}
],
"title": "CVE-2026-109619"
}
]
}
Drag nodes to arrange them. Double-click a related vulnerability to open it, or a source to visit its link. The Physics button on the left tunes the layout and the simulation; the legend at the bottom left hides or shows nodes by kind and by sighting type.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Vulnerability timeline
Sightings and recorded dates, grouped by day · UTC
How durations are calculated
Following the VTEM framework (Black Hat USA 2015), time to patch starts when the vendor or a coordinator was informed, total time to patch at discovery, and disclosure to patch at public disclosure; vendor response time runs from the report to its acknowledgement. Time to exploit and time unpatched start at the earliest discovery or report, falling back to public disclosure. Unpatched time ends at the first recorded patch, or the calculation time when no patch is recorded. Exploitation to patch shows the interval between those two events; a published proof of concept is a public exploit, not exploitation.
Each result shows its source dates. A negative interval means the end event came first; when date-only inputs leave the order open, the result says so. Date-only inputs are approximate. The earliest evidence wins: KEV report dates and sightings are labelled as such. Records describing another vulnerability are listed but never calculated from, and a PoC alone does not establish exploitation. Missing patch evidence does not prove that no patch exists. Filters below change the event list only.
Loading timeline…
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.