

资安业者Binarly对于今年7月Supermicro公布的基板管理控制器(BMC)重大层级漏洞CVE-2024-36435进行分析,并指出这项漏洞相当危险,是今年度最严重的BMC漏洞
Supermicro基板管理控制器(BMC)出现重大层级漏洞CVE-2024-36435,这项漏洞起初由Nvidia资安团队通报,该公司于7月发布公告及新版固件因应。针对此事,9月底资安业者Binarly揭露相关细节。
此漏洞引起研究人员高度关注的原因,在于攻击者可在未经身分验证的情况下,轻易地借由发出请求触发弱点,引起内存堆栈溢出,最终有机会运行任意代码。Binarly认为,这是今年度最严重的BMC漏洞。
针对这项漏洞,根据Supermicro在公告当中的说明,发生的原因在于固件的GetValue功能函数并未检查输入的值,而有机会引发内存缓冲区溢出,影响BMC的网页服务器组件。部分的X11、X12、H12、B12、X13、H13,以及搭载CMM6模块的B13主板曝险。MITRE评估其CVSS风险评分达到9.8。
Binarly针对这项漏洞进一步分析,他们提到该漏洞存在于BMC的网络组件,假如攻击者能够存取BMC网页界面,就能利用漏洞,而且,过程中无须通过身分验证,也不需要用户交互。
一旦攻击者发出POST请求到/cgi/login.cgi,就会交由login.cgi程序进行处理,此程序的主函数cgiGetPostVariable便会尝试取得用户提供的帐密数据,但该功能函数只检查收到的HTTP存取请求类型是POST或DELETE,以及body的内容不是空值,然后调用GetValue功能函数进行后续处理、解码,但过程里并未对输入内容首席执行官度限制,从而导致输入数据的实际大小,有可能与内存分配的缓冲区大小不符的情况。
研究人员指出,虽然Supermicro导入了名为NX的缓解措施,但攻击者可滥用libc的小工具ROP猜测所需信息,并指出根据他们的测试,攻击者只要发出100个请求,就有机会达到代码运行的目的,他们也公布了概念性验证(PoC)代码。
此外,若是搭配他们发现存在于R12SPD-R主板的漏洞BRLY-2024-023,攻击者有机会在取得root权限后,持续在受害服务器活动。另一方面,研究人员疑似在2年前Supermicro发布的固件看到类似的修补手法,这代表当时已有人察觉相关弱点,但该公司并未对所有产品线进行处理,他们认为,这凸显软件供应链安全实际运行上的困难。