2a8765d5a2
0001. Do not recognize paths, mail folders, and pipes in mail addresses by default. That avoids a direct command injection with syntactically valid email addresses starting with |. Such addresses can be specified both on the command line, the mail headers (with -t) or in address lines copied over from previous while replying. This was assigned CVE-2014-7844 for some versions of BSD mailx. It is documented behavior for Heirloom mailx, and was mentioned in an old technical report about BSD mailx (which does not usually make its way into operating system installations). The patch switches off this processing and updates the documentation. Added expandaddr option to explicitly enable this behavior. 0002. When invoking sendmail, prevent option processing for email address arguments. This prevents changing e.g. the Postfix configuration file in unexpected ways. This behavior was documented for BSD mailx (sort of), but not for Heirloom mailx. We did not assign a CVE to this because it is more of a missing feature, and code invoking mailx needs adjustment in the caller as well. Fixed. 0003. Make wordexp support mandatory. (No functional change.) Fixed (replaced explicit shell pipe implementation). 0004. Prevent command execution in the expand function, which is IMHO unexpected. (Not really required with patch 1, and there is still information disclosure/DoS potential if this expansion occurs.) This is a historic vulnerability already fixed in the Debian package, retroactively assigned CVE-2004-2771: Fixed (as part of the pipe replacement with wordexp). |
||
---|---|---|
.. | ||
misc | ||
USD.doc | ||
cmd1.c | ||
cmd2.c | ||
cmd3.c | ||
cmd4.c | ||
cmdtab.c | ||
collect.c | ||
complete.c | ||
complete.h | ||
def.h | ||
dotlock.c | ||
edit.c | ||
extern.h | ||
fio.c | ||
format.c | ||
format.h | ||
getname.c | ||
glob.h | ||
head.c | ||
lex.c | ||
list.c | ||
mail.1 | ||
main.c | ||
Makefile | ||
mime_attach.c | ||
mime_attach.h | ||
mime_child.c | ||
mime_child.h | ||
mime_codecs.c | ||
mime_codecs.h | ||
mime_decode.c | ||
mime_decode.h | ||
mime_detach.c | ||
mime_detach.h | ||
mime_header.c | ||
mime_header.h | ||
mime.h | ||
names.c | ||
pathnames.h | ||
popen.c | ||
quit.c | ||
rcv.h | ||
send.c | ||
sig.c | ||
sig.h | ||
strings.c | ||
support.c | ||
temp.c | ||
thread.c | ||
thread.h | ||
tty.c | ||
v7.local.c | ||
vars.c | ||
version.c |