mozen "cyrus-imapd z MySQL" exploit

Rok Papez rok.papez at kiss.uni-lj.si
Sun Apr 29 15:54:29 CEST 2001


Zivjo!

Prizadeti: 
cyrus-imapd z pwcheck MySQL patchi in plaintext gesli
cyrus-imapd z cyrus-sasl MySQL patchi in plaintext gesli
Verjetno tudi:
cyrus-imapd z pwcheck MySQL patchi in hash gesli
cyrus-imapd z cyrus-sasl MySQL patchi in hash gesli

Pripenjam popravek oz. popravljen MySQL dodatek za cyrus-sasl 1.5.24.
(pripet: cyrus-sasl-1.5.24-mysql.patch)

Osnovni DMZ patch (pripet: sasl-mysql.diff) tako za sasl kot pwcheck je precej
verjetno exploitable ker ne escapea uporabniskega imena in gesla ampak ju
"surova" vstavi v SQL query.

Tako na primer z uporabo veljavnega uporabniskega imena in gesla:
' or ''='
se v primeru, da ni v bazi hash (password()) gesla, da brez tezav logirati.
Malce tezje se da najbrz igrati tudi z uporabniskim imenom, kjer je
potrebno ocitno malce vec dela ampak potem tudi hash gesla ne pomaga vec.

V vseh primerih je prisoten tudi buffer overrrun (sprintf vs. snprintf).

Se kriticne vrstice iz datoteke sasl-mysql.diff:
+ //#define QUERY_STRING    "select %s from %s where %s = '%s' and %s = password('%s')"
+ #define QUERY_STRING    "select %s from %s where %s = '%s' and %s = '%s'"
+   sprintf(qbuf,QUERY_STRING,db_uidcol,db_table,db_uidcol,userid,db_pwcol,password);

--------------------------------------------------
Lahko kdo, ki uporablja sasl+mysql preizkusi popravek ?
Komentarji ?

-- 
lp,
Rok.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cyrus-sasl-1.5.24-mysql.patch
Type: text/x-c
Size: 6150 bytes
Desc: not available
Url : http://liste2.lugos.si/pipermail/lugos-sec/attachments/20010429/a933e5e2/cyrus-sasl-1.5.24-mysql-0001.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sasl-mysql.diff
Type: text/x-makefile
Size: 5185 bytes
Desc: not available
Url : http://liste2.lugos.si/pipermail/lugos-sec/attachments/20010429/a933e5e2/sasl-mysql-0001.bin


More information about the lugos-sec mailing list