Open Motif libUil Diag_issue_diagnostic缓冲区溢出漏洞
发布日期:2005-12-02
更新日期:2005-12-02
受影响系统:Open Group Open Motif 2.2.3
描述:
BUGTRAQ ID:
15684
Open Motif是开放源码版本的Motif,为很多软件和硬件提供工业标准图形用户界面。
Open Motif的用户界面语言的处理例程(libUil)中存在缓冲区溢出漏洞,攻击者可能利用此漏洞执行任意指令提升权限。
在Clients/uil/UilDiags.c文件中:
diag_issue_diagnostic()
202 void diag_issue_diagnostic
203 ( int d_message_number, src_source_record_type
*az_src_rec,
204 int l_start_column, ...)
205
206 {
207 va_list ap; /* ptr to variable
length parameter */
208 int severity; /* severity of message */
209 int message_number; /* message number */
210 char msg_buffer[132]; /* buffer to construct
message */
211 char ptr_buffer[buf_size]; /* buffer to construct
pointer */
212 char loc_buffer[132]; /* buffer to construct
location */
213 char src_buffer[buf_size]; /* buffer to hold source
line */
......
293 va_start(ap, l_start_column);
294
295 #ifndef NO_MESSAGE_CATALOG
296 vsprintf( msg_buffer,
297 catgets(uil_catd, UIL_SET1, msg_cat_table[
message_number ],
298 diag_rz_msg_table[ message_number ].ac_text),
299 ap );
300 #else
301 vsprintf( msg_buffer,
302 diag_rz_msg_table[ message_number ].ac_text,
303 ap );
304 #endif
305 va_end(ap);
在296行和301行,如果ap是用户提供数据的话,调用vsprintf就会导致缓冲区溢出,允许攻击者执行代码或获得权限提升。
<*来源:alert7 (
alert7@xfocus.org)
链接:
http://marc.theaimsgroup.com/?l=bugtraq&m=113357385206117&w=2
*>
建议:
厂商补丁:
Open Group
----------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
http://www.opengroup.org/openmotif/浏览次数:2775
严重程度:0(网友投票)