细水 2007.12.15

漏洞播报

JBoss Seam order参数远程SQL注入漏洞

发布日期:2007-11-01
更新日期:2007-12-14

受影响系统:

JBoss Group JBoss Seam 2.0 CR3
JBoss Group JBoss Seam 2.0 CR2
JBoss Group JBoss Seam 2.0 CR1

不受影响系统:

JBoss Group JBoss Seam 2.0 GA

描述:


BUGTRAQ  ID: 26850

JBoss Seam是一个Java EE5框架,把JSF与EJB3.0组件合并在一起,从而为开发基于Web的企业应用程序提供一个最新的模式。

JBoss Seam在处理用户请求数据时存在输入验证漏洞,远程攻击者可能利用此漏洞执行SQL注入攻击。

JBoss Seam的org.jboss.seam.framework.Query类中没有正确地验证传送给getRenderedEjbql()方式的order参数便将其用于创建EJBQL查询:

if ( getOrder()!=null ) builder.append(" order by ").append( getOrder() );
return builder.toString();

这可能允许通过SQL注入攻击控制EJBQL查询,从而在数据库中执行任意代码。

<*来源:Antoni Jakubiak
  
  链接:http://jira.jboss.com/jira/browse/JBSEAM-2084
        http://secunia.com/advisories/28077/
*>

建议:


临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:

@Name("blaList")
public class BlaList extends EntityQuery {
[…]
private static final String[] orDERS = {"name asc","name desc","id asc","id desc"};

@Override
public void setOrder(String order) {
  if (Arrays.asList(ORDERS).contains(order)) {
    super.setOrder(order);
  }
}

厂商补丁:

JBoss Group
———–
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

http://downloads.sourceforge.net/jboss/jboss-seam-2.0.0.GA.tar.gz?modtime=1193930784&big_mirror=1


您可以随意转载,但必须在显著位置标明 原创链接 和本 版权声明

本文链接: http://www.mcafeefans.com/?p=2164

发表评论

电子邮件地址不会被公开。

:wink: :twisted: :roll: :mrgreen: 8) :-D :arrow: :-o more »

返回页首返回页尾