LIBHTP内存泄漏会导致资源匮乏漏洞CVE-2025-53537
LibHTP是对HTTP协议及其相关组件具有安全意识的解析器,作为相对完备的HTTP流量解析引擎,可解析几乎所有在实践中发现的流量。
一、基本情况
LibHTP是由Open Information Security Foundation维护的开源项目,专为安全地解析HTTP协议及其相关组件而设计,具有核心安全意识。
LibHTP库采用C++为编程语言,融入C、M4等其他语言成分增强功能性和兼容性,致力于在开源社区中提供强大安全HTTP解析解决方案。
栋科技漏洞库关注到LibHTP受影响版本中存在一个由流量引起的内存泄漏问题,该漏洞现被追踪为CVE-2025-53537,CVSS评分为7.5。
二、漏洞分析
CVE-2025-53537漏洞是LibHTP版本0.5.50及以下版本中存在一个由流量引起的内存泄漏问题,可能导致内存耗尽,从而导致可见性丧失。
该漏洞源于流量导致的内存泄漏,进而使得进程内存不足、资源匮乏,进而导致可见性丧失,可利用将如下值设置为false的方式进行缓解:
suricata.yaml app-layer.protocols.http.libhtp.default-config.lzma-enabled
漏洞代码如下:
htp/htp_decompressors.c
@@ -350,6 +350,9 @@ htp_status_t htp_gzip_decompressor_decompress(htp_decompressor_t *drec1, htp_tx_
// There is data even if there is an error
// So use this data and log a warning
htp_log(d->tx->connp, HTP_LOG_MARK, HTP_LOG_WARNING, 0, "GZip decompressor: inflate failed with %d", rc);
if (drec->zlib_initialized == HTP_COMPRESSION_LZMA) {
LzmaDec_Free(&drec->state, &lzma_Alloc);
}
drec->zlib_initialized = HTP_COMPRESSION_OVER;
return HTP_ERROR;
}
三、影响范围
LZMA LIBHTP < 0.5.51
四、修复建议
LZMA LIBHTP >= 0.5.51
五、参考链接
