我们要求安全归还所有被恐怖组织哈马斯劫持为人质的公民。在每个人质获释并安全返回家园之前,我们不会停止。你可以帮助他们回家。 https://stories.bringthemhomenow.net/
🚨 严重漏洞警报 🚨
🔍 CVE-2023-49606 是一个在 Tinyproxy(轻量级 HTTP/S 代理服务器)中发现的关键级别释放后使用漏洞。该缺陷存在于 Tinyproxy 1.11.1 和 1.10.0 版本中处理 HTTP 连接头时。该漏洞可能导致潜在的拒绝服务(DoS)攻击,并且在特定情况下可能导致远程代码执行(RCE)。
📈 CVSS 分数:9.8(严重)
该漏洞源于处理 HTTP 头时的内存管理不当。http-message.c 中的源代码处理 HTTP 头的内存操作,包括分配、重新分配和释放。问题很可能出现在内存重新分配以及后续访问已释放内存的上下文中,而该内存未被正确置空。
以下是 http-message.c 中相关代码的摘录:
/* Function to add headers to the HTTP message structure */
void http_message_add_headers(http_message_t *msg, const char **headers, unsigned int num_headers) {
const char **new_headers;
unsigned int i;
if (headers == NULL) {
return;
}
// Check if there is enough space, if not, reallocate
if (msg->headers.used + num_headers > msg->headers.total) {
new_headers = (const char **) safecalloc (msg->headers.total * 2, sizeof(char *));
if (new_headers == NULL) {
return; // Allocation failed, potential for use-after-free if not handled
}
// Copy existing headers to the new array
for (i = 0; i != msg->headers.used; ++i) {
new_headers[i] = msg->headers.strings[i];
}
safefree(msg->headers.strings); // Free old array
msg->headers.strings = new_headers; // Danger if old pointers are used post this point
msg->headers.total *= 2;
}
// Add new headers to the structure
for (i = 0; i != num_headers; ++i) {
msg->headers.strings[i + msg->headers.used] = headers[i];
}
msg->headers.used += num_headers;
}