The_Arhitect Posted May 11, 2012 Report Posted May 11, 2012 QNX phrelay/phindows/phditto Multiple Vulnerabilities####################################################################### Luigi AuriemmaApplication: QNX phrelay/phindows/phditto http://www.qnx.com http://www.qnx.com/developers/docs/6.5.0/topic/com.qnx.doc.phindows/topic/coverpage.html http://www.qnx.com/developers/docs/6.4.1/neutrino/utilities/p/phrelay.htmlVersions: currentPlatforms: QNX Neutrino RTOS and WindowsBugs: A] bpe_decompress stack overflow B] Photon Session buffer overflowExploitation: remote A] versus client and maybe server B] versus serverDate: 10 May 2012Author: Luigi Auriemma e-mail: aluigi@autistici.org web: aluigi.org#######################################################################1) Introduction2) Bugs3) The Code4) Fix#######################################################################===============1) Introduction===============phrelay and phindows/phditto are based on a private protocol thatallows to use the Photon graphical environment of the server (throughthe phrelay inetd program) on another machine (phindows, phditto andany other client).#######################################################################=======2) Bugs=======--------------------------------A] bpe_decompress stack overflow--------------------------------The BPE (byte pair encoding) compression uses two stack buffers of 256bytes called "left" and "right".The bpe_decompress function used in all the client/server programs ofthis protocol is affected by a stack based buffer-overflow caused bythe lack of checks on the data sequentially stored in these twobuffers.---------------------------------B] Photon Session buffer overflow---------------------------------Buffer-overflow affecting phrelay in the handling of the device filespecified by the client as existing Photon session.Note: considering that phrelay is not enabled by default and allows toconnect without authentication directly to /dev/photon (the screenvisible phisically on the machine) and phindows/phditto must bemanually pointed to the malicious host for exploiting bug A, thisadvisory must be considered only a case study and nothing more.#######################################################################===========3) The Code===========http://aluigi.org/testz/udpsz.ziphttp://www.exploit-db.com/sploits/18864.zipA]at the moment I don't know how to call bpe_decompress on phrelay but Ihave verified that the bpe_decompress function is vulnerable at 100%.the following test works only on phindows/phditto (the proof-of-conceptacts as a server): udpsz -C "a5 00 00 01 0000 ffff" -b A -l 0 -T -1 0 4868 1+7+0xffffB] udpsz -C "a5 10 00 00 0000 ffff 1400000008040100000000008002e0010000000000000000000000000000" -b A -T SERVER 4868 1+7+0xffff#######################################################################======4) Fix======No fix.#######################################################################Sursa: QNX phrelay/phindows/phditto Multiple Vulnerabilities Quote