开源网络范围的广告拦截解决方案 AdGuard Home 中发现了一个严重漏洞,编号为CVE-2024-36814。该漏洞由安全研究员 Jack Moran 发现,允许经过身份验证的攻击者读取运行 AdGuard Home 的系统上的任意文件,可能导致严重的安全风险。该漏洞的 CVSS 评分为7.1,属于高严重性问题。
Moran 的调查显示,当使用 root 权限安装时,AdGuard Home 会暴露出其处理文件权限的严重缺陷。Moran 在分析中分享的一个关键见解是,在安装过程中,AdGuard Home 会将其配置写入 /opt/AdGuardHome 目录。此目录包含文件 AdGuardHome.yaml,该文件存储配置数据,包括用户名和 bcrypt 密码哈希等敏感信息。
研究人员指出,该目录的文件权限设置为 -rw-r–r–,这意味着系统上的任何用户都可以读取其内容。Moran 的分析指出,“有趣的是,这个文件是用 -rw-r–r– 权限写入的,这意味着任何人都可以读取其内容。 ”这种弱权限设置允许经过身份验证的攻击者访问这些敏感的配置数据,而这通常是进一步利用系统所需的全部内容。
任意文件读取漏洞可通过 AdGuard Home 中的自定义过滤列表功能进行利用。用户可以通过指定 URL 或绝对文件路径来添加自定义过滤列表。此功能可被滥用来指向存储密码哈希的系统文件(如 /etc/shadow)。该漏洞允许攻击者向 AdGuard Home 的 Web 界面发起 POST 请求,将关键系统文件(如 /etc/shadow)添加到自定义过滤列表中。
Moran 的分析详细解释了这种攻击媒介:“添加一个攻击媒介很简单,只需导航到 /#filters,单击添加阻止/允许列表 > 添加自定义列表 > 并输入所需的 URL 或绝对文件路径……比如 /etc/shadow。”
POST /control/filtering/add_url HTTP/1.1
[SNIP]
{
"url":"/etc/shadow",
"name":"test",
"whitelist":false
}
HTTP POST 请求
一旦将系统文件添加到列表中,就可以通过 Web 界面访问其内容,从而暴露攻击者可以离线破解的潜在敏感信息(如密码哈希值)。
图片:杰克·莫兰
此漏洞在多个用户可以访问运行 AdGuard Home 的系统的共享环境中尤其危险。鉴于受影响配置文件的广泛权限,即使非 root 用户也可以访问敏感信息。一旦攻击者获得系统文件的访问权限,他们就可以提取密码哈希,破解它们,并在受影响的系统上提升他们的权限。
虽然攻击的复杂性需要事先进行身份验证,但利用 CVE-2024-36814 的后果可能是深远的。正如 Moran 提到的那样,“假设相关用户已经有权访问 AdGuard Home 仪表板,或者哈希值已被成功破解(admin1234),从而可以访问 AdGuard Home 仪表板。”
研究还发布了一个简单的Python 脚本来演示如何利用此缺陷。
AdGuard Home 的开发人员已确认该问题,并在版本v0.107.53中发布了补丁来解决该漏洞。强烈建议 AdGuard Home 用户立即更新其安装,以防止潜在的漏洞利用。
同时,我们敦促系统管理员验证 /opt/AdGuardHome 中的文件权限,并限制对配置文件的访问,直到他们可以应用补丁。此外,限制 AdGuard Home 仪表板的暴露并强制使用强密码可以降低攻击风险。
https://happy-little-accidents.pages.dev/posts/CVE-2024-36814/#putting-it-all-together
https://github.com/AdguardTeam/AdGuardHome/releases/tag/v0.107.53
原文始发于微信公众号(独眼情报):【PoC】AdGuard 主页中存在任意文件读取漏洞 (CVE-2024-36814)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论