Gitlab 任意文件读取漏洞(CVE-2016-9086)

发布时间:2026/11/2 3:30:39

Gitlab 任意文件读取漏洞(CVE-2016-9086) GitLab 是一个利用 Ruby on Rails 开发的开源应用程序用于自托管的 Git 项目仓库。该漏洞源于程序在处理用户提供的文档时没有正确检查符号链接软连接导致目录遍历漏洞。攻击者可以利用该漏洞读取任意文件的内容。GitLab是一套利用Ruby on Rails开发的开源应用程序可实现一个自托管的Git版本控制系统项目仓库它拥有与Github类似的功能可查阅项目的文件内容、提交历史、Bug列表等。 GitLab中的‘import/export project’功能中存在目录遍历漏洞该漏洞源于程序没有正确检查用户提供文档中的符号链接。攻击者可利用该漏洞检索任意文件的内容。以下版本受到影响GitLab CE和EE 8.13.0至8.13.2版本8.12.0至8.12.7版本8.11.0至8.11.10—内容来自中国国家信息安全漏洞库 CNNVD受影响版本GitLab CE和EE 8.13.0至8.13.2版本8.12.0至8.12.7版本8.11.0至8.11.10环境搭建下载镜像包后加载本地 tar 镜像包。启动容器dockercompose up-d然后验证容器状态# 查看所有 GitLab 容器dockerps|grepgitlab​# 查看端口映射dockerps--formattable {{.Names}}\t{{.Ports}}复现注册进来就行。点击新建一个项目后点击GitLab export将test.tar.gz上传将会读取到/etc/passwd文件内容这里的test.tar.gz值得解释一下。里面有五个文件其中._VERSION/._project.bundle是macOSAppleDouble 资源分叉文件由 macOS 自动生成包含文件扩展属性如隔离标记com.apple.quarantine在 Linux/Windows 上无实际用途。另外VERSION是版本号。project.bundle是一个Git Bundlev2 格式包含一条真实提交记录。关键在于project.json这是一个软链接指向系统敏感文件/etc/passwd。其内容为project.json -/etc/passwd这是一个经典的Symlink Attack符号链接攻击/ Zip Slip变种攻击流程 1. 受害应用接受 tar.gz 上传 ↓ 2. 服务端解压 test_tar.gz ↓ 3. project.json 被还原为指向 /etc/passwd 的符号链接 ↓ 4. 应用读取 project.json本意是读 JSON 配置 ↓ 5. 实际读取的是 /etc/passwd → 敏感信息泄露参考资料https://hackerone.com/reports/178152
延伸阅读

更多相关文章

2026/10/30 1:10:11

门头招牌工程全流程:勘察、设计、施工与验收

摘要 门头招牌升级并不是简单更换面板、重新排版或安装发光字,而是一项同时涉及视觉识别、结构连接、材料耐候、电气安全、防水排水、施工组织和后期运维的综合工程。 部分门头在完工初期外观正常,但经过日晒、雨淋、温差变化和长期通电后,逐…

2026/10/25 11:03:49

BERT与GPT架构差异及多模态预训练实践指南

1. 预训练范式的哲学分野:从单模态到多模态的认知跃迁2018年无疑是NLP领域的"大爆炸"时刻。当BERT和GPT几乎同时横空出世时,大多数人只看到了它们基于Transformer架构的表面相似性,却忽略了底层设计哲学的根本差异。我在实际工业场…

2026/11/2 3:29:58

数据仓库面试题工程手册:四层模型、拉链表与维度建模

简介:《数据仓库工程师面试题》是一份面向数据仓库工程师求职者与初级数仓从业者的知识梳理文档,围绕面试常见考点组织内容,可用于系统复习与查漏补缺。文档共1个docx文件,压缩包约31KB,篇幅精炼,便于在手机…

2026/11/2 3:29:58

AI Native输入法:从“不打字”开始,重构意图理解与表达生成

1. 从“不打字”切入,AI Native 输入法到底在解决什么问题第一次听到“AI Native 输入法先从‘不打字’开始”这个说法,我脑子里冒出来的第一个念头是:这不是反常识吗?输入法不就是用来打字的?不打字那还叫什么输入法。…

2026/11/2 3:29:58

动态元素周期表:React+Three.js化学教育工具开发

1. 项目背景与核心价值作为一名化学教育工具开发者,我一直在寻找让元素周期表"活起来"的方法。传统纸质周期表最大的痛点在于信息静态化——学生只能看到原子序数、符号和原子量这些基础数据,而元素背后的物理特性、应用场景和最新研究成果完全…

2026/11/2 3:29:58

多平台兼容架构设计与适配器模式实战解析

1. 多平台兼容的技术架构解析"嘎嘎降AI"之所以能够同时支持9大主流检测平台,关键在于其采用了分层设计的系统架构。这种架构模式在工业级软件设计中被称为"适配器模式"(Adapter Pattern),它通过在核心算法与各平台接口之间建立抽象层…

2026/11/2 3:29:58

智能无人船爆炸图自动化生成技术解析

1. 项目背景与核心需求智能无人船系统的工业设计呈现一直是工程可视化领域的难点。传统设计评审过程中,静态渲染图难以全面展示复杂机械结构的装配关系和内部组件布局。这正是爆炸图(Exploded View)技术大显身手的地方——通过将产品零部件按…

2026/11/1 0:01:26

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/1 1:01:33

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/2 1:04:04

工业级SPI隔离设计:硬件抗扰与信号完整性实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/2 1:04:04

PLFM_RADAR:主动探测数据通道,构建低误报的数据感知系统

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/2 1:04:04

工业SPI隔离设计:MAX14431与STM32F746硬件抗干扰实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/1 0:01:26

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/1 1:01:33

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑