La prima vedere am vazut asta :


int Bank::loadbank(const char *bankdirname){
    DIR *dir=opendir(bankdirname);
    clearbank();

    if (dir==NULL) return(-1);

    if (dirname!=NULL) delete(dirname);
    dirname=new char[strlen(bankdirname)+1];
   
snprintf(dirname,strlen(bankdirname)+1,"%s",bankdirname);
 ^^^^^^^
we have a dirname :-). ( fara sa se faca in prealabil
o verificare a tipului de caractere ).


[...]

Bank::~Bank(){
    if (dirname!=NULL) {
        sprintf(config.cfg.currentBankDir,dirname);

^^^^^^^^^^^^^^
format string vulnerability 

The exploit is pretty straightforward. ( the %n
madness !!! :-) ).


DK

P.s. ext3 filesystem iti accepta si caractere de tipul
0xbf, 0xff, etc.. in numele directorului, sa poti sa
te joci pe stiva cu ele. Despre alte filesystemuri nu
cunosc. Totul e sa se evite caracterul "/".





--- Paul Paul <[EMAIL PROTECTED]> wrote:
> Salut.
> Sunt Paul si am scris un program de sinteza pentru
> Linux (si Windows) (lucrez la el din martie 2002).
> Acum cateva zile am lansat un prerelease la
> versiunea
> 2.0.0.
> Programul se gaseste la:
> http://zynaddsubfx.sourceforge.net
> si este sub licenta GNU GPL 2.
> Are o lunga lista de facilitati pe care nu o sa o
> scriu aici (se poate citi de pe homepage).
> Sper sa va placa.
> Paul
> 
> 
>               
> __________________________________
> Do you Yahoo!?
> Vote for the stars of Yahoo!'s next ad campaign!
>
http://advision.webevents.yahoo.com/yahoo/votelifeengine/
> 
> 
> --- 
> Detalii despre listele noastre de mail:
> http://www.lug.ro/
> 
> 
> 



                
__________________________________
Do you Yahoo!?
Vote for the stars of Yahoo!'s next ad campaign!
http://advision.webevents.yahoo.com/yahoo/votelifeengine/


--- 
Detalii despre listele noastre de mail: http://www.lug.ro/


Raspunde prin e-mail lui