|
|
|
|
 |
 |
 |
 |
 |
 |
 |
|
 |
|
|
| CDF库src/lib/cdfread64.c文件栈溢出漏洞 (Other,补丁) | | | | 涉及程序: | | CDF | | | | 描述: | CDF库src/lib/cdfread64.c文件栈溢出漏洞
| | | | 详细: | 通用数据格式(CDF)是由NASA戈达德航天飞行中心开发的用于存储和操控标量和多维数据的数据格式。
CDF库在打开无效的CDF输入文件时存在栈溢出漏洞,允许攻击者在使用该库的应用程序环境中执行任意指令或导致整个应用程序崩溃。
漏洞存在于src/lib/cdfread64.c文件的以下代码中。Read32s_64函数将数据从文件读取到缓冲区,temp缓冲区大小为MAX_READ32s,但没有检查count参数,因此大于MAX_READ32s的参数可能会触发栈溢出。
/-----------
57 STATICforIDL Logical Read32s_64 (fp, buffer, count) 58 vFILE *fp; 59 Int32 *buffer; 60 int count; 61 { 62 #if defined(NETWORKbyteORDERcpu) 63 if (count < 1) return TRUE; 64 if (!READv64(buffer,(size_t)4,(size_t)count,fp)) return FALSE; 65 #else 66 #define MAX_READ32s CDF_MAX_DIMS /* This must be the maximum of 67 CDF_MAX_DIMS and MAX_VXR_ENTRIES 68 (and for any other uses of 69 `Read32s'). */ 70 int i; Int32 temp[MAX_READ32s]; 71 if (count < 1) return TRUE; 72 if (!READv64(temp,(size_t)4,(size_t)count,fp)) return FALSE;
- -----------/
ReadGDR64还在src/lib/cdfread64.c调用了Read32s_64函数:
/-----------
256 #if defined(STDARG) 257 STATICforIDL CDFstatus ReadGDR64 (vFILE *fp, OFF_T offset, ...) 258 #else 259 STATICforIDL CDFstatus ReadGDR64 (va_alist) 260 va_dcl 261 #endif 262 {
. . .
301 if (!Read32_64(fp,&(fp->GDR64->rNumDims))) return CRE; 302 if (!Read32_64(fp,&(fp->GDR64->NzVars))) return CRE; 303 if (!Read64_64(fp,&(fp->GDR64->UIRhead))) return CRE; 304 if (!Read32_64(fp,&(fp->GDR64->rfuC))) return CRE; 305 if (!Read32_64(fp,&(fp->GDR64->rfuD))) return CRE; 306 if (!Read32_64(fp,&(fp->GDR64->rfuE))) return CRE; 307 if (!Read32s_64(fp,fp->GDR64->rDimSizes, 308 (int)fp->GDR64->rNumDims)) return CRE;
- -----------/
在307行使用fp->GDR64->rNumDims变量作为count参数调用了有漏洞的函数。由于这个变量是在301行从文件中加载的,因此是可控的。
<*来源:Alfredo Ortega 链接:http://www.coresecurity.com/?action=item&id=2260 http://cdf.gsfc.nasa.gov/CDF32_buffer_overflow.html *>
受影响系统: NASA CDF 3.2 不受影响系统: NASA CDF 3.2.1
| | | | 攻击方法: | 警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
http://www.coresecurity.com/?action=item&id=2260
| | | | 解决方案: | 厂商补丁:
NASA ---- 目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
http://cdf.gsfc.nasa.gov/index.html
| | | | 附加信息: | | 无 | | | | 发布时间:2008年5月7日 | 返回 | | 版权所有,如需转载,请与安络联系 |
|
|
|
|
|
|
|
|
|