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