The following message is of primary interest to software developers using the UW c-client library. It is NOT a concern to non-programmers or sites who use UW imapd or ipop3d.

Today's imap-2005 development tarball introduces a major rewrite of the RFC822 message writing routines in rfc822.c. The old, vulnerable to buffer overflow, routines:
        rfc822_output()
        rfc822_header()
        rfc822_header_line()
        rfc822_address_line()
        rfc822_write_address_full() and rfc822_write_address()
        rfc822_address()
        rfc822_cat()
        rfc822_write_body_header()
        rfc822_output_body()
have been replaced with new routines:
        rfc822_output_full()
        rfc822_output_header()
        rfc822_output_header_line()
        rfc822_output_address_line()
        rfc822_output_address_list()
        rfc822_output_address()
        rfc822_output_cat()
        rfc822_output_body_header()
        rfc822_output_text()

The old interfaces continue to exist as before, so all existing programs will continue to work; however these interfaces are now considered to be legacy and their use is now discouraged.

In addition, as long as the buffer provided to the old interfaces is at least 16K, they will now fatal() out rather than buffer overflow. Note that in the case of such strcat()-like routines as rfc822_address() or rfc822_cat(), that is 16K of free space and *not* 16K of buffer, so it may still be possible to buffer overflow with the old interfaces.

The new interfaces do not have buffer overflow issues. When the buffer is filled, they call a routine to output and empty the buffer, and then resume.

This is an issue for client programs that may use these routines. Pine generally doesn't use these routines because of the buffer overflow issues, but apparently some other applications such as PHP do.

The c-client routines smtp_mail() and nntp_mail() have already been updated to use the new rfc822_output_full() routine instead of the old rfc822_output() routine. This affects client programs which send mail or post news using these routines.

Note that this is NOT a UW imapd security issue. UW imapd does not use any of the routines.

The new interfaces are still subject to change. If you are a software developer who uses the c-client library and these routines, now is the time to review these new functions and see if your application can use them.

If your application does not call any of the legacy functions, then it may be that the only difference is that it's no longer likely to experience a buffer overflow when sending a message with a very large to-list.

-- Mark --

http://staff.washington.edu/mrc
Science does not emerge from voting, party politics, or public debate.
Si vis pacem, para bellum.
_______________________________________________
Imap-uw mailing list
[email protected]
https://mailman1.u.washington.edu/mailman/listinfo/imap-uw

Reply via email to