CVE-2007-0039 (CNNVD-200705-143)
中文标题:
Microsoft Exchange iCal 代码问题漏洞
英文标题:
The Exchange Collaboration Data Objects (EXCDO) functionality in Microsoft Exchange Server 2000 SP3,...
漏洞描述
中文描述:
Microsoft Exchange Server是一款流行的邮件服务器。 Microsoft Exchange中负责解析iCal邮件附件的代码中漏洞,远程攻击者可能利用此漏洞导致Exchange进程崩溃。 iCal文件格式包含有一系列的记录,由BEGIN和END标签划分开,每个记录都可能包含有多个命名属性。Exchange的iCal解析器维护一个当前环境中有效属性的表格,遇到新的记录就会切换到合适的表格。X-MICROSOFT-CDO-MODPROPS属性是一个Microsoft扩展,允许iCal文件指定特定记录中应认为有效的属性列表,这时Exchange会乎略所有其他属性,如下所示:BEGIN:VEVENT X-MICROSOFT-CDO-MODPROPS:BEGIN,DTEND,DTSTART,END DTSTART:19970714T170000Z DTEND:19970715T035959Z SUMMARY:Bastille Day Party END:VEVENT 在这个例子中,Exchange不会处理SUMMARY属性。 当解析器遇到MODPROPS属性时,就会调用CICalSchema::AllocPropTables分配有效属性的新的表格,指向新表格的指针储存在this->field_F0,有效属性的列表被拷贝到这个表格中。如果存在第二个MODPROPS属性的话,就会再次调用该函数并重新使用之前分配的表格。如果第二个MODPROPS属性比第一个长的话,拷贝循环就会写过表格的末尾。 MS06-019通过在AllocPropTables函数的开始添加对CICalSchema::FreePropTables调用来修复这个漏洞,但FreePropTables还将this->field_28指针设置为空,之后在AllocPropTables的memcpy操作中使用了这个空指针,导致Exchange崩溃。 // Allocate a new property table int CICalSchema::AllocPropTables(arg_0, arg_4) { this->FreePropTables(); ... // Allocate space for the new table if (this->field_F0 == NULL) this->field_F0 = new(vector_size*16); ... // NULL pointer dereference of this->field_28 memcpy( &this->field_F4[offset_F4], &this->field_28[index*20], 20); } // Free the property table void CICalSchema::FreePropTables() { if (this->field_F0 != NULL) { ... ExFree(this->field_F0); this->field_F0 = NULL; } if (this->field_F4 != NULL) { if (this->field_28 == this->field_F4) { this->field_28 = NULL; // set this->field_28 to NULL this->field_1C = 0; } ExFree(this->field_F4); this->field_F4 = NULL; } ... }
英文描述:
The Exchange Collaboration Data Objects (EXCDO) functionality in Microsoft Exchange Server 2000 SP3, 2003 SP1 and SP2, and 2007 allows remote attackers to cause a denial of service (crash) via an Internet Calendar (iCal) file containing multiple X-MICROSOFT-CDO-MODPROPS (MODPROPS) properties in which the second MODPROPS is longer than the first, which triggers a NULL pointer dereference and an unhandled exception.
CWE类型:
标签:
受影响产品
| 厂商 | 产品 | 版本 | 版本范围 | 平台 | CPE |
|---|---|---|---|---|---|
| microsoft | exchange_server | 2000 | - | - |
cpe:2.3:a:microsoft:exchange_server:2000:sp3:*:*:*:*:*:*
|
| microsoft | exchange_server | 2003 | - | - |
cpe:2.3:a:microsoft:exchange_server:2003:sp1:*:*:*:*:*:*
|
| microsoft | exchange_server | 2007 | - | - |
cpe:2.3:a:microsoft:exchange_server:2007:-:*:*:*:*:*:*
|
解决方案
中文解决方案:
英文解决方案:
临时解决方案:
参考链接
cve.org
cve.org
cve.org
cve.org
cve.org
cve.org
cve.org
cve.org
cve.org
cve.org
cve.org
cve.org
cve.org
CVSS评分详情
AV:N/AC:L/Au:N/C:N/I:N/A:C
时间信息
利用信息
数据源详情
| 数据源 | 记录ID | 版本 | 提取时间 |
|---|---|---|---|
| CVE | cve_CVE-2007-0039 |
2025-11-11 15:17:48 | 2025-11-11 07:32:40 |
| NVD | nvd_CVE-2007-0039 |
2025-11-11 14:52:10 | 2025-11-11 07:41:26 |
| CNNVD | cnnvd_CNNVD-200705-143 |
2025-11-11 15:08:56 | 2025-11-11 07:49:17 |
版本与语言
安全公告
变更历史
查看详细变更
- vulnerability_type: 未提取 -> 代码问题
- cnnvd_id: 未提取 -> CNNVD-200705-143
- data_sources: ['cve', 'nvd'] -> ['cnnvd', 'cve', 'nvd']
查看详细变更
- severity: SeverityLevel.MEDIUM -> SeverityLevel.HIGH
- cvss_score: 未提取 -> 7.8
- cvss_vector: NOT_EXTRACTED -> AV:N/AC:L/Au:N/C:N/I:N/A:C
- cvss_version: NOT_EXTRACTED -> 2.0
- affected_products_count: 0 -> 3
- references_count: 14 -> 13
- data_sources: ['cve'] -> ['cve', 'nvd']