Package: joe
Version: 3.1-0.2
Severity: important

Since the latest "sudo" security update (DSA-946) that joe can't be run from
sudo. It segfaults.

>From the ltrace and strace output it seems that joe segfaults because
sudo doesn't pass along the HOME environment variable anymore.

If ran with "sudo -H joe ...", it doesn't segfault (-H forces sudo to set
the target user's home as the HOME variable).


-8<--------strace output----------------------
execve("/usr/bin/joe", ["joe", "/etc/nsswitch.conf"], [/* 10 vars */]) = 0
uname({sys="Linux", node="sulaco", ...}) = 0
brk(0)                                  = 0x8095dfc
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x40017000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.preload", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=14559, ...}) = 0
old_mmap(NULL, 14559, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40018000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/libncurses.so.5", O_RDONLY)  = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\220\342"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=252592, ...}) = 0
old_mmap(NULL, 257868, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4001c000
old_mmap(0x40052000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 
0x35000) = 0x40052000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/libutil.so.1", O_RDONLY)     = 3
read(3, "[EMAIL PROTECTED]"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=7844, ...}) = 0
old_mmap(NULL, 10668, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4005b000
old_mmap(0x4005d000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 
0x1000) = 0x4005d000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/libc.so.6", O_RDONLY)        = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\360^\1"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1244688, ...}) = 0
old_mmap(NULL, 1254852, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4005e000
old_mmap(0x40186000, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 
0x127000) = 0x40186000
old_mmap(0x4018e000, 9668, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4018e000
close(3)                                = 0
munmap(0x40018000, 14559)               = 0
brk(0)                                  = 0x8095dfc
brk(0x80b6dfc)                          = 0x80b6dfc
brk(0)                                  = 0x80b6dfc
brk(0x80b7000)                          = 0x80b7000
open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=290576, ...}) = 0
mmap2(NULL, 290576, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40191000
close(3)                                = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++
-8<-------------------------------------------


-8<--------ltrace output----------------------
__libc_start_main(0x8054e40, 2, 0xbffffe14, 0x807a6a0, 0x807a700 <unfinished 
...>
getenv("LC_ALL")                                                                
                 = NULL
getenv("LC_CTYPE")                                                              
                 = NULL
getenv("LANG")                                                                  
                 = "en_US"
__strdup(0xbfffff02, 0xbffffedb, 0x400cc78e, 0x4018d880, 0x4018d870)            
                 = 0x8095e50
strrchr("en_US", '.')                                                           
                 = NULL
setlocale(6, "en_US")                                                           
                 = "en_US"
nl_langinfo(14, 0x8095e50, 0x400cc78e, 0x4018d880, 0x4018d870)                  
                 = 0x401a8184
__strdup(0x401a8184, 0x8095e50, 0x400cc78e, 0x4018d880, 0x4018d870)             
                 = 0x8096680
setlocale(6, "")                                                                
                 = "en_US"
nl_langinfo(14, 0x807a850, 0x400cc78e, 0x4018d880, 0x4018d870)                  
                 = 0x401a8184
__strdup(0x401a8184, 0x807a850, 0x400cc78e, 0x4018d880, 0x4018d870)             
                 = 0x8096670
malloc(2712)                                                                    
                 = 0x8096760
getenv("HOME")                                                                  
                 = NULL
malloc(1028)                                                                    
                 = 0x8097200
__strdup(0x8096670, 0, 0, 0, 0)                                                 
                 = 0x80965b0
fgets( <unfinished ...>
--- SIGSEGV (Segmentation fault) ---
+++ killed by SIGSEGV +++
-8<-------------------------------------------


-- System Information:
Debian Release: 3.1
Architecture: i386 (i686)
Kernel: Linux 2.6.8-2-k7-cr3
Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1)

Versions of packages joe depends on:
ii  libc6                       2.3.2.ds1-22 GNU C Library: Shared libraries an
ii  libncurses5                 5.4-4        Shared libraries for terminal hand

-- no debconf information



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to