jQuery 1.7.2是一個相對較舊的版本,它在最新的閉包代碼執(zhí)行漏洞(CVE-2015-9251)中存在漏洞。這個漏洞允許攻擊者在用戶瀏覽器中執(zhí)行任意的JavaScript代碼。
// 由于沒有正確地保護遞歸代碼,導(dǎo)致代碼執(zhí)行漏洞 var obj = {foo: 'foo', bar: 'bar'}; $.map(obj, function(val) { $.map(obj, arguments.callee); });
上面的代碼示例中,使用了$ .map函數(shù)迭代一個對象,而該對象是遞歸調(diào)用的,攻擊者可以將其構(gòu)造為一個可執(zhí)行的腳本,利用該漏洞執(zhí)行腳本,獲取敏感信息或控制用戶的瀏覽器。
這個漏洞已經(jīng)被修復(fù),建議開發(fā)者和用戶都使用最新版本的jQuery以避免漏洞的利用。