安全研究

安全漏洞
Disk ARchive Blowfish-CBC加密实现IV冲突漏洞

发布日期:2007-06-30
更新日期:2007-07-18

受影响系统:
Disk ARchive DAR 2.3.2-1
不受影响系统:
Disk ARchive DAR 2.3.4
描述:
BUGTRAQ  ID: 24930
CVE(CAN) ID: CVE-2007-3528

Disk ARchive(dar)是用于备份目录树和文件的shell命令。

Disk ARchive Blowfish-CBC加密方式的实现上存在漏洞,可能导致不安全的加密。

dar中所使用的Blowfish加密方式中可能会出现IV冲突,有漏洞的代码位于dar-2.3.2/src/libdar/crypto.cpp文件的178-194行:

178: void blowfish::make_ivec(const infinint & ref, unsigned char ivec[8])
179: {
180:     infinint upper = ref >> 32;
181:     U_32 high = 0, low = 0;
182:
183:     high = upper % (U_32)(0xFFFF); // for bytes (high weight)
184:     low = ref % (U_32)(0xFFFF); // for bytes (lowest weight)
185:
186:     ivec[0] = low % 8;
187:     ivec[1] = (low >> 8) % 8;
188:     ivec[2] = (low >> 16) % 8;
189:     ivec[3] = (low >> 24) % 8;
190:     ivec[4] = high % 8;
191:     ivec[5] = (high >> 8) % 8;
192:     ivec[6] = (high >> 16) % 8;
193:     ivec[7] = (high >> 24) % 8;
194: }

make_ivec以不依赖于平台的方式序列化64位的dar块编号,但丢弃了大多数位的块编号,导致每8个dar块和略小于12位的IV长度就会出现IV冲突。如果使用了默认的10240字节的块大小的话,每81920字节和小于4096个可能值的IV空间就会出现一次IV冲突,这严重弱化了Blowfish-CBC加密的实现。

<*来源:Dwayne C. Litzenberger (dlitz@dlitz.net
  
  链接:http://secunia.com/advisories/25953/
        http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=425335
        https://sourceforge.net/tracker/index.php?func=detail&aid=1730439&group_id=65612&atid=511612
*>

建议:
厂商补丁:

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

http://downloads.sourceforge.net/dar/dar-2.3.4.tar.gz?modtime=1183231111&big_mirror=0
http://downloads.sourceforge.net/dar/dar64-2.3.4-i386-windows.zip?modtime=1183231162&big_mirror=0

浏览次数:2911
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障