In addition to the significant indirect problems with ICQ, straightforward security problems have occurred with the ICQ client itself. These are mostly denial of service attacks where people can crash or hang the machine running the client, but some of them have been buffer overflow problems that could allow an attacker to run arbitrary commands. In addition, one version of the client set up a web server as well as the ICQ client. This is unpleasant for security no matter what web server it is (the vulnerabilities of a web server are quite a bit larger than those of a chat client) and was made worse by the fact that the particular web server that Mirabilis provided allowed any file on the machine to be transferred. Although these problems have been rapidly corrected by Mirabilis, the history of repeated problems is a cause for concern.
Direction | SourceAddr. | Dest.Addr. | Protocol | SourcePort | Dest.Port | ACKSet | Notes |
---|---|---|---|---|---|---|---|
Out | Int | irabilis | UDP | >1023 | 4000 |
[98]
|
Internal client to server |
In | irabilis | Int | UDP | 4000 | >1023 | [98] | Server to internal client |
Out | Int | irabilis | TCP |
>1023[99]
|
>1023 | [100]
|
Internal client sending messages via server |
In | irabilis | Int | TCP | >1023 | >1023[99] | Yes | Server sending messages to internal client |
Out | Int | Ext | TCP | >1023[99] | >1023 | [100] | Internal client sending messages direct to external client |
In | Ext | Int | TCP | >1023 | >1023[99] | Yes | External client replying to internal client |
In | Ext | Int | TCP | >1023 | >1023[99] | [100] | External client sending messages direct to internal client |
Out | Int | Ext | TCP | >1023[99] | >1023 | Yes | Internal client replying to external client |
[98]UDP has no ACK equivalent.
[99]The port range used for this purpose can be configured on the client.
[100]ACK is not set on the first packet of this type (establishing connection) but will be set on the rest.
Normally, ICQ clients will attempt to send messages directly to each other. If you are using a proxy server incoming connections will presumably fail, even when outgoing ones succeed, since the initiating client doesn't know that it should contact the proxy server. Therefore, if you tell your ICQ client that you are using a proxy server, it will route conversations through the ICQ server (via the proxy server) instead of directly to the other client.