Package: libnss-db
Version: 2.2.3pre1-1
Severity: critical
Justification: smashes entire system with WORLD-ENDING levels of breakage

Hi,
Using libnss-db from sid results in some rather, er, unpleasant
behaviour.  With the group files below, and 'group: compat db' in
nsswitch.conf, anything that attempts to deal with groups, segfaults.
This includes OpenSSH (so not even root can log in), and su.  The end
result is that you better well have rockin' remote management so you can
reboot your machine and boot with init=/bin/sh.

Downgrading to libnss-db 2.2-6.3 works just fine.

This is the backtrace generated with libc6-dbg:
(gdb) bt f
#0  *__GI__nss_files_parse_grent (
    line=0x7fbffff3f6 
"jrfonseca,kaleb,ago,stukreit,cworth,keithp,clee,kem,branden,jkolb,doursse,jkj,bogdand,sndirsch,jbarnes,mhopf,spyderous,aplattner,benh,philipl",
 result=0x7fbffff6b0, data=0x7fbffff260, datalen=1024,
    errnop=0x622c72656e747461) at files-parse.c:208
        list = (char **) 0x7fbffff660
        p = Variable "p" is not available.
(gdb) print *data
$7 = {linebuffer = 0x7fbffff260 "xorg"}
(gdb) print *result
$8 = {gr_name = 0x7fbffff260 "xorg", gr_passwd = 0x7fbffff265 "x",
  gr_gid = 801, gr_mem = 0x7fbffff290}
(gdb) print **list
$9 = 0 '\0'
(gdb) print *errnop
Cannot access memory at address 0x622c72656e747461

Notice how errnop in particular seems to be wildly off.

Also, I don't claim to know the internals of exactly how it works, but
line is badly truncated; this is the original:
xorg:x:801:daniels,gisburn,eich,jg,pma,pascal,twini,jacotton,unichrome,alanh,alanc,amirbukhari,hyu,ldelgass,fabbione,brianp,nakee,mharris,deronj,daenzer,keithw,kendallb,harold,torrey,zack,ewalsh,earle,wt,bastian,faith,idr,krh,nolan,jdennis,ajax,josh,takuma,mark,volodya,adg,anderson,sandmann,vektor,syrjala,fxkuehl,zakki,anholt,alan,libv,sroland,erdi,viewtouch,agd5f,kuhn,jhobson,herrb,davidr,lars,airlied,jrfonseca,kaleb,ago,stukreit,cworth,keithp,clee,kem,branden,jkolb,doursse,jkj,bogdand,sndirsch,jbarnes,mhopf,spyderous,aplattner,benh,philipl

This is an amd64 system.

Original TDB file:
http://annarchy.freedesktop.org/~daniels/group.tdb
Processed DB file:
http://annarchy.freedesktop.org/~daniels/group.db

Cheers,
Daniel

Attachment: signature.asc
Description: Digital signature

Reply via email to