CVE-2021-22205原理及复现


CVE-2021-22205

RCE on Gitlab version < 13.10.3

一、根本原因

  • 当上传图片文件时,Gitlab Workhorse将扩展名为jpg|jpeg|tiff的文件通过ExifTool删除任何非白名单标记。
  • 其中一个支持的格式是DjVu。当解析DjVu注释时,标记被赋值为convert C escape sequences
  • 作者的文章:https://devcraft.io/2021/05/04/exiftool-arbitrary-code-execution-cve-2021-22204.html (详情请看此处)
#convert C escape sequences 出现以下代码
$tok = eval qq{"$tok"};

二、漏洞复现

  1. 首先需要一个Gitlab平台的一个账户及密码(有些公司的Gitlab平台是允许注册的)
    register

  2. 登录后到个人主页,找到Snippets

    1

  3. 此处需要上传DjVu格式图片(即Exp)

    • DjVu格式图片制作方式如下

      1. 下载安装DjVuLibre 地址http://djvu.sourceforge.net/

      2. 准备好将要压缩图片的文本

      3. 使用命令djvumake rce.djvu INFO=0,0 BGjp=/dev/null ANTa=rce.txt && mv rce.djvu rce.jpg 生成Exp

  4. 上传Exp

  5. 成功执行


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM