PCRE(Perl兼容正則表達(dá)式)庫(kù)是個(gè)開放源代碼的軟件,可提供正則表達(dá)式支持。

pcre處理某些畸形正則表達(dá)式的方法存在多個(gè)漏洞:

CVE-2007-1659
在處理有孤兒"E"代碼的"QE"序列時(shí)存在漏洞,可能導(dǎo)致所編譯的正則表達(dá)式失去同步,執(zhí)行破壞的bytecode。

CVE-2007-1660
多種字符類在初始傳送階段錯(cuò)誤的計(jì)算了大小,導(dǎo)致分配過少的內(nèi)存。

CVE-2007-1661
非UTF-8模式的多種X?d或P{L}?d形式可能回退到字符串開始之前,這可能造成泄露地址空間地址或由于越界讀取而出現(xiàn)崩潰。

CVE-2007-1662
一些例程可能在尋找不匹配的括號(hào)或方括號(hào)時(shí)受騙讀過字符串的末尾,導(dǎo)致拒絕服務(wù)。

CVE-2007-4766
處理轉(zhuǎn)義序列時(shí)的多個(gè)整數(shù)溢出可能導(dǎo)致堆溢出或越界讀寫。

CVE-2007-4767
由于錯(cuò)誤的處理非標(biāo)準(zhǔn)運(yùn)算的長(zhǎng)度,在處理P和P{x}序列時(shí)會(huì)出現(xiàn)多個(gè)死循環(huán)和堆溢出漏洞。

CVE-2007-4768
錯(cuò)誤的優(yōu)化了包含有單個(gè)unicode序列的字符類,可能導(dǎo)致堆溢出。

受影響系統(tǒng)和軟件:


PCRE, PCRE, 6.0, 及其早期版本
PCRE, PCRE, 6.1, 及其早期版本
PCRE, PCRE, 7.3, 及其早期版本

解決方案:


升級(jí)到7.4版本:
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/

參考資源一:


http://www.pcre.org/changelog.txt

參考資源二:


http://www.frsirt.com/english/advisories/2007/3725

參考資源三:


http://www.debian.org/security/2007/dsa-1399

致謝:


該漏洞由Tavis Ormandy發(fā)現(xiàn)。

分享到

多易

相關(guān)推薦