Confluence 修复 CVE-2021-26084 OGNL注入漏洞
CVE-2021-26084 漏洞
8月25日, Atlassian官方披露了一个关于Confluence 的一个高危漏洞, OGNI注入漏洞, 此漏洞允许经过身份验证或在某些情况下未授权的攻击者在Confluence Server或Data Center实例上执行任意代码
几乎影响所有Confluence的所有版本
描述 | CVE-2021-26084 - Confluence Server Webwork OGNL 注入 |
---|---|
公布时间 | 2021年8月25日 |
涉及产品 |
Confluence Cloud 不受影响 |
影响的版本 |
|
修复版本 |
|
CVE ID(s) | CVE-2021-26084 |
升级修复
升级到上述修复版本,这个没有什么好说的,有条件的用户请尽快升级
不升级修复
因为种种原因,有些不能或不方便 升级的,Atlassian给出了修复脚本
这个脚本主要是修改源代码中可以避开漏洞的5个文件,下载运行修复脚本也可以避开这个漏洞,具体方式分为 Linux和Windows系统
linux系统修复
- 下载 cve-2021-26084-update.sh 脚本到confluence服务器上
打开脚本,把
INSTALLATION_DIRECTORY 设置为Confluence安装路径,然后保存文件, 如
INSTALLATION_DIRECTORY=/opt/atlassian/confluence
CODE修改脚本属性为可执行
chmod +x cve-2021-26084-update.sh
CODE查看Confluence 安装目录的用户权限,默认为conflucne用户,要在这个用户下执行代码 , 切换到这个用户
chmod +# 查看Confluence安装目录下的文件权限 $ ls -l /opt/atlassian/confluence | grep bin drwxr-xr-x 3 confluence confluence 4096 Aug 18 17:07 bin # 得到用户是 confluence 切换到改用户下 $ sudo su - confluence
CODE运行修复脚本
./cve-2021-26084-update.sh
CODE显示Updated Completed 即修复脚本运行成功
- 重启Confluence生效
附:脚本的的运行结果
[confluence@devpod-web cve-2021-26084-fix]$ ./cve-2021-26084-update.sh
chdir '/opt/atlassian/confluence'
File 1: 'confluence/users/user-dark-features.vm':
a. backing up file.. done
b. updating file.. done
c. showing file changes..
70c70
< #tag( "Component" "label='Enable dark feature:'" "name='featureKey'" "value='$!action.featureKey'" "theme='aui'" "template='text.vm'")
---
> #tag( "Component" "label='Enable dark feature:'" "name='featureKey'" "value=featureKey" "theme='aui'" "template='text.vm'")
d. validating file changes.. ok
e. file updated successfully!
File 2: 'confluence/login.vm':
a. backing up file.. done
b. updating file.. done
c. showing file changes..
147c147
< #tag( "Hidden" "name='token'" "value='$!action.token'" )
---
> #tag( "Hidden" "name='token'" "value=token" )
d. validating file changes.. ok
e. file updated successfully!
File 3: 'confluence/pages/createpage-entervariables.vm':
a. backing up file.. done
b. updating file.. done
c. showing file changes..
24c24
< #tag ("Hidden" "name='queryString'" "value='$!queryString'")
---
> #tag ("Hidden" "name='queryString'" "value=queryString")
26c26
< #tag ("Hidden" "name='linkCreation'" "value='$linkCreation'")
---
> #tag ("Hidden" "name='linkCreation'" "value=linkCreation")
d. validating file changes..ok
e. file updated successfully!
File 4: 'confluence/template/custom/content-editor.vm':
a. backing up file.. done
b. updating file.. done
c. showing file changes..
64c64
< #tag ("Hidden" "name='queryString'" "value='$!queryString'")
---
> #tag ("Hidden" "name='queryString'" "value=queryString")
85c85
< #tag ("Hidden" "id=sourceTemplateId" "name='sourceTemplateId'" "value='${templateId}'")
---
> #tag ("Hidden" "id=sourceTemplateId" "name='sourceTemplateId'" "value=templateId")
d. file updated successfully!
File 5: 'confluence/WEB-INF/atlassian-bundled-plugins/confluence-editor-loader*.jar':
a. extracting templates/editor-preload-container.vm from confluence/WEB-INF/atlassian-bundled-plugins/confluence-editor-loader-7.12.3.jar..
Archive: confluence/WEB-INF/atlassian-bundled-plugins/confluence-editor-loader-7.12.3.jar
inflating: ./templates/editor-preload-container.vm
b. updating file.. done
c. showing file changes..
56c56
< #tag ("Hidden" "id=syncRev" "name='syncRev'" "value='$!{action.syncRev}'")
---
> #tag ("Hidden" "id=syncRev" "name='syncRev'" "value=syncRev")
d. validating file changes.. ok
e. updating confluence/WEB-INF/atlassian-bundled-plugins/confluence-editor-loader-7.12.3.jar with ./templates/editor-preload-container.vm..updating: templates/editor-preload-container.vm (deflated 59%)
-rw-r--r-- 1 confluence confluence 13369 Aug 27 13:57 confluence/WEB-INF/atlassian-bundled-plugins/confluence-editor-loader-7.12.3.jar
f. cleaning up temp files..ok
g. extracting templates/editor-preload-container.vm from confluence/WEB-INF/atlassian-bundled-plugins/confluence-editor-loader-7.12.3.jar again to check changes within JAR..
Archive: confluence/WEB-INF/atlassian-bundled-plugins/confluence-editor-loader-7.12.3.jar
inflating: ./templates/editor-preload-container.vm
h. validating file changes for file within updated JAR.. ok
i. cleaning up temp files..ok
Update completed!
BASH
Window系统修复
- 下载 cve-2021-26084-update.ps1 到服务器上
打开脚本,把
INSTALLATION_DIRECTORY 设置为Confluence安装路径,然后保存文件。 如
$INSTALLATION_DIRECTORY='C:\Program Files\Atlassian\Confluence'
CODE打开 PowerShell(以管理员身份运行),执行修复脚本
Get-Content .\cve-2021-26084-update.ps1 | powershell.exe -noprofile -
CODE显示Updated Completed 即修复脚本运行成功
- 重启Confluence生效