UltraVNC vncviewer “ClientConnection::NegotiateProtocolVersion()” puffer túlcsordulása

CH azonosító

CH-959

Felfedezés dátuma

2008.01.31.

Súlyosság

Közepes

Érintett rendszerek

UltraVNC
UltraVNC Team

Érintett verziók

UltraVNC Team UltraVNC 1.x

Összefoglaló

Egy sérülékenységet fedeztek fel az UltraVNC-ben, melyet rosszindulatú támadók kihasználva verem túlcsordulást okozhatnak, ami tetszőleges kód futtatását eredményezheti a felhasználó rendszerén.

Leírás

Egy sérülékenységet fedeztek fel az UltraVNC-ben, melyet rosszindulatú támadók kihasználva verem túlcsordulást okozhatnak, ami tetszőleges kód futtatását eredményezheti a felhasználó rendszerén.

A sérülékenység oka a felhasználó által megadott hosszúságú értékek másolása a vncviewer/ClientConnection.cpp-ben található “ClientConnection::NegotiateProtocolVersion()” függvényben a helyes korlátok ellenőrzése nélkül. Ez kihasználható verem túlcsordulás okozására például, ha küldenek egy speciálisan erre a célra készített adatot a “LISTENING” módban lévő vncviewernek vagy a felhasználó csatlakozik egy rosszindulatú VNC szerverhez.

A sérülékenység sikeres kihasználása tetszőleges kód futtatását teszi lehetővé.

Ez akor is kihasználható, ha DSM plugint használ a felhasználó, de szükséges hogy a támadó rendelkezzen a vcnviewer titkosító kulcsával.

A sérülékenységet az 1.0.2.-es verzióban igazolták és jelentették az előbb említett szoftver 1.0.4.-es 2008. január 25-ét megelőző verzióiban. Jelentések szerint az UltraVNC szervert a sérülékenység nem érinti.

Megoldás

Frissítsen a legújabb verzióra