受影响系统:
Linux kernel 2.6.17 - 2.6.24.1
不受影响系统:
Linux kernel 2.6.24.2
描述:
Linux Kernel是开放源码操作系统Linux所使用的内核。
Linux Kernel的实现上存在漏洞,本地攻击者可能利用此漏洞提升自己的权限。
Linux Kernel的fs/splice.c文件中的vmsplice_to_pipe没有正确地验证某些用户域指针,这允许本地攻击者通过特制的vmsplice系统调用获得root用户权限提升。
厂商补丁:
Debian已经为此发布了一个安全公告(DSA-1494-2)以及相应补丁:
DSA-1494-2:New linux-2.6 packages fix privilege escalation
漏洞分析:
官方最新过滤函数HTMLEncode,这次过滤了字符* ,再一次绕过过滤注射
Function HTMLEncode(fString)
fString=Replace(fString,CHR(9),"")
fString=Replace(fString,CHR(13),"")
fString=Replace(fString,CHR(22),"")
fString=Replace(fString,CHR(38),"&") '“&”
fString=Replace(fString,CHR(32)," ") '“ ”
fString=Replace(fString,CHR(34),""") '“"”
fString=Replace(fString,CHR(39),"'") '“'”
fString=Replace(fString,CHR(42),"*") '“*”
fString=Replace(fString,CHR(44),",") '“,”
fString=Replace(fString,CHR(45)&CHR(45),"--") '“--”
fString=Replace(fString,CHR(60),"<") '“<”
fString=Replace(fString,CHR(62),">") '“>”
fString=Replace(fString,CHR(92),"\") '“\”
fString=Replace(fString,CHR(59),";") '“;”
fString=Replace(fString,CHR(10),"
")
fString=ReplaceText(fString,"([])([a-z0-9]*);","$1$2;")
if SiteConfig("BannedText")<>"" then fString=ReplaceText(fString,"("&SiteConfig("BannedText")&")",string(len("&$1&"),"*"))
if IsSqlDataBase=0 then '过滤片假名(日文字符)[\u30A0-\u30FF] by yuzi
fString=escape(fString)
fString=ReplaceText(fString,"%u30([A-F][0-F])","0$1;")
fString=unescape(fString)
end if
HTMLEncode=fString
End Function
Members.asp漏洞文件作为测试:
SearchType=HTMLEncode(Request("SearchType")) //第8行
SearchText=HTMLEncode(Request("SearchText"))
SearchRole=RequestInt("SearchRole")
CurrentAccountStatus=HTMLEncode(Request("CurrentAccountStatus"))