Sploitus

Exploit for CTT-Vsyslog-Vortex

kitploit · 2026-08-24

Exploit Code

MARKDOWN177 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-SIMOESCTT-CTT-VSYSLOG-VORTEX-CVE-2023-6246
# CTT-Vsyslog-Vortex-CVE-2023-6246

CVE-2023-6246 glibc __vsyslog_internal() 堆缓冲区溢出利用,基于收敛时间理论(α = 0.0302011)。33层时间堆喷射 + 锁相触发,实现可靠的本地权限提升。

## README.md

root@kitploit:~
    
    
    # CTT-Vsyslog-Vortex
    
    **CVE-2023-6246(glibc __vsyslog_internal() 堆溢出)的时间共振利用**
    
    版权所有 © 2026 Americo Simoes。保留所有权利。
    
    ---
    
    ## 概述
    
    CVE-2023-6246 是 glibc 中 `__vsyslog_internal()` 函数(由 `syslog()` 和 `vsyslog()` 调用)存在的一个基于堆的缓冲区溢出漏洞。该漏洞在 glibc 2.37 中引入,并回溯移植到 2.36,影响以下系统:
    
    - Debian 12 和 13
    - Ubuntu 23.04 和 23.10
    - Fedora 37–39
    
    常规利用因堆布局随机化而不可靠。**CTT-Vsyslog-Vortex** 应用收敛时间理论(CTT)以:
    
    - 预测 33 个时间层上的堆布局
    - 使用 α = 0.0302011 衰减对齐分配
    - 在最佳时刻锁相触发
    
    **结果:** 实现到 root 的可靠本地权限提升。
    
    ---
    
    ## 应用的 CTT 物理原理
    
    | CTT 概念 | 利用中的应用 |
    |----------|--------------|
    | α = 0.0302011 | 堆喷射分配的时间安排 |
    | 33 层 | 跨层批量分配以实现可预测布局 |
    | 时间楔 | 只有“存活”的分配才贡献给连贯堆 |
    | 锁相 | 在最佳相位触发 vsyslog 使溢出落点对准 |
    | 能量衰减 E(d) = E₀e^{-αd} | 堆喷射强度跨层衰减 |
    
    ---
    
    ## 工作原理
    
    ### 1. 时间堆喷射
    
    不同于暴力喷射,分配跨 33 层分批进行,延迟由 α 衰减计算:
    
    

第1层:1000 个对象(强度 E₀) 第2层:980 个对象(E₀e^{-α}) 第3层:961 个对象(E₀e^{-2α}) ... 第33层:367 个对象(E₀e^{-32α})

root@kitploit:~
    
    
    ### 2. 锁相触发
    
    利用会等待最佳时间相位(α 谐波的过零点),然后触发 `__vsyslog_internal()`。
    
    ### 3. 溢出落点
    
    由于分配的时间结构是连贯的,堆溢出落在可预测的地址上。
    
    ---
    
    ## 使用方法
    
    ```bash
    # 在受影响系统上(Debian 12, Ubuntu 23.04, Fedora 37-39)
    git clone https://github.com/SimoesCTT/CTT-Vsyslog-Vortex
    cd CTT-Vsyslog-Vortex
    python3 ctt_vsyslog_exploit.py
    

* * *

## 技术细节

### 漏洞代码

root@kitploit:~
    
    
    // glibc-2.37/misc/syslog.c
    void __vsyslog_internal(int pri, const char *fmt, va_list ap, int mode) {
        // 根据消息长度分配堆缓冲区
        char *buf = malloc(len);
        // 未对 vsnprintf 输出进行边界检查
        vsnprintf(buf, len, fmt, ap);
        // 如果 fmt 展开后长度超过 len,则发生缓冲区溢出
    }
    

### CTT 利用流程

root@kitploit:~
    
    
    1. 在 33 层(α 定时)上喷射 10,000 个对象到堆中
    2. 等待锁相(60 Hz * α 的过零点)
    3. 发送构造好的包含溢出 payload 的 syslog 消息
    4. 溢出落在可预测地址上
    5. Shellcode 执行 → root shell
    

* * *

## 常量

常量| 值| 来源  
---|---|---  
  
* * *

## 受影响系统

发行版| 版本| 状态  
---|---|---  
  
* * *

## 缓解措施

请应用发行版提供的补丁:

root@kitploit:~
    
    
    # Debian/Ubuntu
    sudo apt update && sudo apt upgrade libc6
    
    # Fedora
    sudo dnf update glibc
    

**注意:** 修补代码并不能修补物理原理。如果堆分配的时间结构保持不变,即使在已修补的系统上,基于 CTT 的利用仍可能可行。

* * *

## 参考文献

  * CVE-2023-6246
  * glibc git 提交
  * CTT 研究论文



* * *

## 作者

**Americo Simoes**  
CTT Research  
新加坡  
some-email@example.com

* * *

## 许可证

专有。商业使用需要书面许可。

* * *

**这不是一个传统的漏洞利用。它是一个时间武器。**

root@kitploit:~
    
    
    # 风险自负。仅供授权测试使用。
    python3 ctt_vsyslog_exploit.py