PHP5.6被發現存在堆溢出漏洞
作者:佚名
漏洞存在于DNS TXT記錄解析這個功能之中。Stefan Esser在github的一個代碼提交中發現了這個漏洞。當PHP程序運行dns_get_record()的時候,惡意的服務器或者是進行中間人攻擊的黑客可以利用這個漏洞執行任意代碼。
收藏該文寫在前面
這個漏洞,應該不是Stefan Esser發現的,應該是Stefan Esser看到了github上的commit才隨藤摸瓜找到了這個漏洞,看來關注更新的確是一個好習慣啊。
正文
漏洞存在于DNS TXT記錄解析這個功能之中。Stefan Esser在github的一個代碼提交中發現了這個漏洞。當PHP程序運行dns_get_record()的時候,惡意的服務器或者是進行中間人攻擊的黑客可以利用這個漏洞執行任意代碼。
產生漏洞的代碼存在于ext/standard/dns.c,可以看到代碼之中加入了針對于長度的判斷。
- while (ll < dlen) {
- n = cp[ll];
- + if ((ll + n) >= dlen) {
- + // Invalid chunk length, truncate
- + n = dlen - (ll + 1);
- + }
- memcpy(tp + ll , cp + ll + 1, n);
- add_next_index_stringl(entries, cp + ll + 1, n, 1);
- ll = ll + n + 1;
Red Hat bug也收錄了這個漏洞,但也沒有給出具體細節。
責任編輯:藍雨淚
來源:
FreeBuf