Transferring e-mail between users on a single machine is a relatively trivial process.
However, transporting e-mail between a wide-array of TCP/IP hosts and servers
globally across the Internet can be quite complex.
The protocol used to transport mail across the Internet is
the SMTP [3], but the
actual transport management of global e-mail requires a much more
complex electronic infrastructure.
Servers and programs with a primary function to store and forward e-mail
across the vast canyons of cyberspace are referred to as MTAs.
A mail transfer agent (MTA) is a very specialized program which
delivers and transports e-mail between mail servers. On the other hand,
a mail user agent (MUA) may be any one of a vast number of programs
users execute to read, compose, reply, and manage e-mail locally.
The widely used sendmail program is an MTA [4].
SMTP messages consist of lines of ASCII text
of information in a rigid format followed by the main
body of the message.
The rigidly-formated section is known as the header.
RFC 822 [5] defines the syntax and specification of the
SMTP header, created to allow simple parsers to
process the general structure of messages without knowledge of
the detailed structure of individual header fields.
The sendmail MTA was designed to manage a very complex
internetworking environment and is one of the cornerstones
of the Internet [4]. One of the myriad technical requirements
for sendmail was the necessity to process addresses that
are in route address syntax [4] [6].
These addresses follow a syntax created for directed source message
routing:
@MTA1,@MTA2,@MTAn:USER@MTAn+1
In route address syntax, this expression translates to:
1.
the originator sends the message to MTA1,
2.
MTA1 sends the message to MTA2,
3.
MTA2 sends the message to MTAn,
4.
MTAn sends the message to MTAn+1,
5.
MTAn+1 delivers the message to USER.
The capability of sendmail to process route addressing is but one
of numerous uncountable special rules and expressions which a robust universal
MTA must manage. The next section discusses how this syntax is
exploited to create extraordinary e-mail bombs.
The reader is kindly referred to Brian Costales
and Eric Allman excellent book on sendmail [4] for
further reading on the sendmail MTA and its capabilities.