Summary
Two memory-safety vulnerabilities in the PHP runtime bundled with SMART EMS allow an unauthenticated remote attacker to execute arbitrary code in the context of the PHP web worker. All SMART EMS versions up to and including v3.5.3 are affected. Exploitability and reliability depend on the PHP server interface, configuration, application behaviour, and worker reuse.
Impact
Affected Product(s)
| Model no. | Product name | Affected versions |
|---|---|---|
| alpha | SMART EMS Web Application | vers:semver/>=0.0.0|<3.5.4 |
Vulnerabilities
Expand / Collapse allPHP 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).
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).
Acknowledgments
Welotec GmbH thanks the following parties for their efforts:
- CERT@VDE for coordination (see https://certvde.com )
- lcfr-hax, sagitzadik-wiz, tomash-areion, amyb-oai from for reporting
- PHP Security Team for remediation
Revision History
| Version | Date | Summary |
|---|---|---|
| 1.0.0 | 10/29/2026 11:00 | Initial release. |