Description
OpenPLC Runtime v3 contains an input validation flaw in the /upload-program-action endpoint: the epoch_time field supplied during program uploads is not validated and can be crafted to induce corruption of the programs database. After a successful malformed upload the runtime continues to operate until a restart; on restart the runtime can fail to start because of corrupted database entries, resulting in persistent denial of service requiring complete rebase of the product to recover. This vulnerability was remediated by commit 095ee09.
CVSS breakdown
CVSS 4.0
Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Confidentiality (Vulnerable System)
None
Integrity (Vulnerable System)
Low
Availability (Vulnerable System)
High
Confidentiality (Subsequent System)
None
Integrity (Subsequent System)
None
Availability (Subsequent System)
None
Affected products
- Autonomy Logic / OpenPLC Runtime3.0 – 095ee09623dd229b64ad3a1db38a901a3772f6fc
References
- MISChttps://autonomylogic.com/
- MISChttps://openplc.discussion.community/post/persistant-dos-affecting-openplc-runtime-13722844
- PATCHhttps://github.com/thiagoralves/OpenPLC_v3/pull/297/commits/095ee09623dd229b64ad3a1db38a901a3772f6fc
- VENDOR_ADVISORYhttps://www.vulncheck.com/advisories/openplc-runtime-v3-persistent-denial-of-service