文章预览
背景: Qualys团队在OpenSSH服务器(sshd)中发现了一个漏洞(信号处理程序竞争条件):如果客户端未能在LoginGraceTime秒内完成身份验证(默认为120秒,旧版OpenSSH为600秒),sshd的SIGALRM处理程序会被异步调用,但这个信号处理程序会调用各种非异步信号安全的函数(例如syslog())。这个竞争条件影响了默认配置下的sshd。经过调查,我们发现这个漏洞实际上是2006年由Mark Dowd报告的CVE-2006-5051("OpenSSH 4.4版本之前的信号处理程序竞争条件允许远程攻击者导致拒绝服务(崩溃),并可能执行任意代码")的重现。 简而言之:如果客户端在LoginGraceTime期间内未能完成身份验证,OpenSSH的SIGALRM信号处理程序中会出现竞争条件。当SIGALRM被触发时,它会使用不安全的异步函数来执行存储在内存中的代码。这个漏洞通过竞争条件造成内存损坏,从而使信号处理程序执行
………………………………