Bug#803255: exim4: segfault upon reading /etc/email-addresses
Sylvain LEVEQUE
sylvain.leveque+bugreport at gmail.com
Wed Oct 28 12:41:20 UTC 2015
Package: exim4
Version: 4.86-4
Severity: important
Dear Maintainer,
After upgrading from exim4 4.86-3 to 4.86-4, I observe a segfault when /etc/email-addresses is looked up by sendmail/exim and an entry with a rewriting rule is found. These mails don't get sent.
Commenting out the corresponding line in /etc/email-addresses fixes the problem.
I am seeing this segfault on armel, but not on amd64.
# cat /etc/email-addresses
# This is /etc/email-addresses. It is part of the exim package
#
# This file contains email addresses to use for outgoing mail. Any local
# part not in here will be qualified by the system domain as normal.
#
# It should contain lines of the form:
#
#user: someone at isp.com
#otheruser: someoneelse at anotherisp.com
sleveque: sylvain at gromi.net
monit at donkeykong: sylvain at gromi.net
root: sylvain at gromi.net
# echo "Subject: test" | /usr/lib/sendmail -v sylvain at gromi.net
Segmentation fault
# echo "Subject: test" | strace /usr/lib/sendmail -v sylvain at gromi.net
[snip]
rt_sigaction(SIGTERM, {0xb6ec3b4c, [TERM], SA_RESTORER|SA_RESTART, 0xb68accf0}, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGINT, {0xb6ec3b4c, [INT], SA_RESTORER|SA_RESTART, 0xb68accf0}, {SIG_DFL, [], 0}, 8) = 0
fstat64(0, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e58000
read(0, "Subject: test\n", 4096) = 14
read(0, "", 4096) = 0
open("/etc/email-addresses", O_RDONLY|O_LARGEFILE) = 4
fstat64(4, {st_mode=S_IFREG|0644, st_size=400, ...}) = 0
fstat64(4, {st_mode=S_IFREG|0644, st_size=400, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e57000
_llseek(4, 0, [0], SEEK_SET) = 0
read(4, "# This is /etc/email-addresses. "..., 4096) = 400
read(4, "", 4096) = 0
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0xc8b80b28} ---
+++ killed by SIGSEGV +++
Segmentation fault
# cat /etc/email-addresses
# This is /etc/email-addresses. It is part of the exim package
#
# This file contains email addresses to use for outgoing mail. Any local
# part not in here will be qualified by the system domain as normal.
#
# It should contain lines of the form:
#
#user: someone at isp.com
#otheruser: someoneelse at anotherisp.com
sleveque: sylvain at gromi.net
monit at donkeykong: sylvain at gromi.net
#root: sylvain at gromi.net
# echo "Subject: test" | /usr/lib/sendmail -v sylvain at gromi.net
LOG: MAIN
<= root at donkeykong.gromi.net U=root P=local S=358
donkeykong:~# delivering 1ZrPx0-0002Kr-GX
R: smarthost for sylvain at gromi.net
T: remote_smtp_smarthost for sylvain at gromi.net
Connecting to XXXXXXXXXXXXXXX:25 ... connected
SMTP<< 220 XXXXXXXXXXXXXXXX ESMTP Postfix
SMTP>> EHLO donkeykong.gromi.net
SMTP<< 250-XXXXXXXXXXXXXXXX
250-PIPELINING
250-SIZE 35000000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
SMTP>> STARTTLS
SMTP<< 220 2.0.0 Ready to start TLS
SMTP>> EHLO donkeykong.gromi.net
SMTP<< 250-XXXXXXXXXXXXXXXX
250-PIPELINING
250-SIZE 35000000
250-VRFY
250-ETRN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
SMTP>> MAIL FROM:<root at gromi.net> SIZE=1390
SMTP>> RCPT TO:<sylvain at gromi.net>
SMTP>> DATA
SMTP<< 250 2.1.0 Ok
SMTP<< 250 2.1.5 Ok
SMTP<< 354 End data with <CR><LF>.<CR><LF>
SMTP>> writing message and terminating "."
SMTP<< 250 2.0.0 Ok: queued as 8F372D480B3
SMTP>> QUIT
LOG: MAIN
=> sylvain at gromi.net R=smarthost T=remote_smtp_smarthost H=XXXXXXXXXXXXX [XXXXXXXXXX] X=TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128 CV=no DN="OU=GT42558204,OU=See www.rapidssl.com/resources/cps (c)15,OU=Domain Control Validated - RapidSSL(R),CN=XXXXXXXX" C="250 2.0.0 Ok: queued as 8F372D480B3"
LOG: MAIN
Completed
-- Package-specific info:
Exim version 4.86 #3 built 17-Oct-2015 13:01:01
Copyright (c) University of Cambridge, 1995 - 2015
(c) The Exim Maintainers and contributors in ACKNOWLEDGMENTS file, 2007 - 2015
Berkeley DB: Berkeley DB 5.3.28: (September 9, 2013)
Support for: crypteq iconv() IPv6 GnuTLS move_frozen_messages DKIM DNSSEC PRDR OCSP
Lookups (built-in): lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmjz dbmnz dnsdb dsearch nis nis0 passwd
Authenticators: cram_md5 plaintext
Routers: accept dnslookup ipliteral manualroute queryprogram redirect
Transports: appendfile/maildir/mailstore autoreply lmtp pipe smtp
Fixed never_users: 0
Size of off_t: 8
Configuration file is /var/lib/exim4/config.autogenerated
-- System Information:
Debian Release: stretch/sid
APT prefers testing
APT policy: (990, 'testing'), (50, 'unstable'), (40, 'experimental')
Architecture: armel (armv5tel)
Kernel: Linux 3.15-rc8-kirkwood
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)
Versions of packages exim4 depends on:
ii debconf [debconf-2.0] 1.5.57
ii exim4-base 4.86-4
ii exim4-daemon-light 4.86-4
exim4 recommends no packages.
exim4 suggests no packages.
-- debconf information excluded
More information about the Pkg-exim4-maintainers
mailing list