CVE-2003-0812 (CNNVD-200312-058)
中文标题:
Microsoft Windows工作站服务远程缓冲区溢出漏洞(MS03-049/KB828749)
英文标题:
Stack-based buffer overflow in a logging function for Windows Workstation Service (WKSSVC.DLL) allow...
漏洞描述
中文描述:
Microsoft DCE/RPC服务可以提供网络管理功能,这些功能提供管理用户帐户和网络资源管理的功能。部分网络管理功能在Windows目录下的"debug"子目录会生成调试日志文件。 Microsoft Workstation服务在处理日志记录时缺少充分的边界缓冲区检查,远程攻击者可以利用这个漏洞提供超长参数触发缓冲区溢出,以SYSTEM权限在系统上执行任意指令。 日志功能中使用vsprintf()在日志文件中生成字符串,日志文件名为"NetSetup.LOG",其保存在Windows "debug"目录中。 这个记录函数有部分处理Workstation服务命令的函数调用,如"NetValidateName", "NetJoinDomain"等,在这NetValidateName()中,"computer name"作为第二个参数最终记录在日志文件中。 如我们使用NetValidateName() API: NetValidateName(L"\\\\192.168.0.100","AAAAAAAA",NULL,NULL,0); 那么我们可以在远程主机中产生如下记录条目: 08/13 13:01:01 NetpValidateName: checking to see if '' is valid as type 0 name 08/13 13:01:01 NetpValidateName: '' is not a valid NetBIOS \\AAAAAAAA name: 0x57 如果我们指定超长字符串作为NetValidateName() API的第二个参数,如果调试文件可写就可以在特定主机上发生缓冲区溢出。 一般如果是NTFS文件系统,在Windows目录中的"debug"目录不允许所有人可写,这表示不能使用NULL会话来生成日志。WsImpersonateClient() API在打开日志文件前调用,如果连接客户端没有有效的权限来写日志文件,那么CreateFile()就会失败,vsprintf()就不会被执行,因此此漏洞在FAT32系统和"%SYSTEMROOT%\debug"目录可写的情况下可被利用。 但是部分扩展RPC函数实现在Windows XP上在调用WsImpersonateClient()前打开日志文件,不过这些RPC函数没有提供文档化说明,不过可以观察在WKSSVC.DLL中的函数表观察到。这些扩展命令的RPC号开始于0x1B,如0x1B调用NetpManageComputers(),但在打开日志文件前不调用WsImpersonateClient()。 NetpManageComputers()的使用没有被公开化,但是我们可以在"LMJoin.h"中找到NetAddAlternateComputerName() API的原型定义,这个API从NETAPI32.DLL导出,这个API也一样没有文档化。我们可以执行这个RPC函数(0x1B)使用如下API产生包: NetAddAlternateComputerName(L"\\\\192.168.0.200",long_unicode_string,NULL,NULL,0); 我们不需要特殊权限在远程主机上写第二个产生到日志文件中,如定义超长Unicode字符串作为第二个参数("AlternateName"),在第一个参数定义的远程系统就会由于缓冲区溢出而崩溃。Unicode字符串"long_unicode_string"会在日志记录函数调用前被转换为ASCII字符串。
英文描述:
Stack-based buffer overflow in a logging function for Windows Workstation Service (WKSSVC.DLL) allows remote attackers to execute arbitrary code via RPC calls that cause long entries to be written to a debug log file ("NetSetup.LOG"), as demonstrated using the NetAddAlternateComputerName API.
CWE类型:
标签:
受影响产品
| 厂商 | 产品 | 版本 | 版本范围 | 平台 | CPE |
|---|---|---|---|---|---|
| microsoft | windows_2000 | * | - | - |
cpe:2.3:o:microsoft:windows_2000:*:*:*:*:*:*:*:*
|
| microsoft | windows_xp | * | - | - |
cpe:2.3:o:microsoft:windows_xp:*:*:64-bit:*:*:*:*:*
|
解决方案
中文解决方案:
英文解决方案:
临时解决方案:
参考链接
cve.org
cve.org
cve.org
cve.org
cve.org
cve.org
cve.org
cve.org
cve.org
exploitdb
exploitdb
cve.org
exploitdb
exploitdb
exploitdb
exploitdb
exploitdb
exploitdb
CVSS评分详情
AV:N/AC:L/Au:N/C:P/I:P/A:P
时间信息
利用信息
数据源详情
| 数据源 | 记录ID | 版本 | 提取时间 |
|---|---|---|---|
| CVE | cve_CVE-2003-0812 |
2025-11-11 15:17:27 | 2025-11-11 07:32:19 |
| NVD | nvd_CVE-2003-0812 |
2025-11-11 14:50:37 | 2025-11-11 07:41:05 |
| CNNVD | cnnvd_CNNVD-200312-058 |
2025-11-11 15:08:43 | 2025-11-11 07:48:52 |
| EXPLOITDB | exploitdb_EDB-119 |
2025-11-11 15:05:57 | 2025-11-11 08:03:42 |
| EXPLOITDB | exploitdb_EDB-123 |
2025-11-11 15:05:57 | 2025-11-11 08:04:26 |
| EXPLOITDB | exploitdb_EDB-130 |
2025-11-11 15:05:57 | 2025-11-11 08:05:31 |
| EXPLOITDB | exploitdb_EDB-16378 |
2025-11-11 15:05:57 | 2025-11-11 08:10:59 |
版本与语言
安全公告
变更历史
查看详细变更
- references_count: 16 -> 18
- tags_count: 7 -> 8
查看详细变更
- references_count: 14 -> 16
- tags_count: 6 -> 7
查看详细变更
- references_count: 12 -> 14
- tags_count: 5 -> 6
查看详细变更
- references_count: 9 -> 12
- tags_count: 0 -> 5
- data_sources: ['cnnvd', 'cve', 'nvd'] -> ['cnnvd', 'cve', 'exploitdb', 'nvd']
查看详细变更
- vulnerability_type: 未提取 -> 授权问题
- cnnvd_id: 未提取 -> CNNVD-200312-058
- data_sources: ['cve', 'nvd'] -> ['cnnvd', 'cve', 'nvd']
查看详细变更
- severity: SeverityLevel.MEDIUM -> SeverityLevel.HIGH
- cvss_score: 未提取 -> 7.5
- cvss_vector: NOT_EXTRACTED -> AV:N/AC:L/Au:N/C:P/I:P/A:P
- cvss_version: NOT_EXTRACTED -> 2.0
- affected_products_count: 0 -> 2
- data_sources: ['cve'] -> ['cve', 'nvd']