c7ffb8dc31
Patch provided by MAINTAINER, Julian Dunn in PR 35578. --------------------------------------------------------------------------- January 30, 2007 amavisd-new-2.4.5 release notes SECURITY - Recommended version of Convert::UUlib is 1.08 or higher to avoid processing of uninitialized data containing 'random' garbage. Note that a security hole in uulib which comes with Convert::UUlib 1.04 and older is now (as of 2006-12-05) known to be exploitable: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2005-1349 credits to Jean-Sebastien Guay-Leroux; - p0f-analyzer.pl will no longer reply to queries coming from low-numbered UDP ports below 1024 or from nfsd port 2049, and will ignore queries with nonce longer than 1024 character or containing characters outside of \040-\177 range to limit its usefulness as a potential reflector for an attacker from internal networks. INCOMPATIBLE CHANGE WITH 2.4.4 - p0f-analyzer.pl now only binds to a loopback interface by default, instead of to all interfaces; change $bind_addr in p0f-analyzer.pl to '0.0.0.0' if p0f-analyzer.pl is running on a different host from amavisd or from other querying clients; suggested by Shaun T. Erickson and Mario Liehr; BUG FIXES - let p0f-analyzer.pl exit when a pipe on stdin is closed (e.g. when p0f is killed or crashes), instead of entering a tight loop; reported by Justin Piszcz and Henrik Krohns; - hard-blacklisting no longer skips quarantining when $spam_quarantine_cutoff_level is undefined (or is an empty string); - restart timer after Sophie times out; previously the next attempt would run with no time limit; reported by Nick Leverton and Nicklas Bondesson; - fixed AM.PDP code to always provide smtp-quoted form in angle brackets in delrcpt and addrcpt attributes of a response, i.e. in the same form as was received in sender and recipient attributes; - fix error reporting in open_on_specific_fd when POSIX::dup2 fails; thanks to Chris (decoder); - fix signal handling in read_snmp_variables() and register_proc(), a signal could previously get lost (not re-signaled) if it occurred within these subroutines; - fixed get_body_digest which incorrectly determined 7- or 8-bitness of mail header and body, setting body_type incorrectly (with only cosmetic ill-effects); - AM.PDP protocol: ensure proper address form is used in server response attributes 'delrcpt' and 'addrcpt': the same form should be used as in 'sender' and 'recipient' attributes. The attribute value syntax is specified in RFC 2821 as 'Reverse-path' (i.e. smtp-quoted form, enclosed in <>); previously enclosing angle brackets were missing in a server reply; - documentation - amavisd.conf-default incorrectly stated that a default value for $prepend_header_fields_hdridx is 1; actually the default is 0 as correctly indicated in release notes; reported by Jo Rhett; OTHER - qmail interfacing notice: MTA timeout for waiting on results from amavisd should be longer than $child_timeout (8 minutes by default) with some margin, setting MTA timeout to 15 or 20 minutes is usual. With qmail however the QMQP code in qmail has hard-coded timeouts set, 10 seconds for connect and 60 seconds for read/write. If amavisd processing takes longer than 60 seconds, the MTA drops connection and retries later, yet amavisd continues processing and eventually delivers a mail (with each MTA retry), causing repeated deliveries of the same message. The following patch by Eric Huss on the www.qmail.org page: http://www.ehuss.org/qmail/qmqpc-timeout.tar.gz should be applied to qmail when interfacing it to a post-queue content filter. Problem researched by Nicklas Bondesson; - better timeout handling in interface code to daemonized virus scanners like clamd, Sophie, Trophie: allow short time (10 s) for connect and for sending a request, then allow normal (long) time to collect results; keep evidence of the initial deadline on retries; - prefer '7bit' as Content-Transfer-Encoding when attaching original message or its headers (message/rfc822 or text/rfc822-headers) to DSN or to a defanged mail, and only specify '8bit' when necessary; - remove protecting the $ and @ characters in second argument of a regexp selector macro, it is unnecessary and confusing; - sanitize Message-ID and Resent-Message-ID header field bodies in macros %m, %r and header_field by providing angle brackets if missing to facilitate log parsing (angle brackets are RFC 2822 required syntax and are semantically not part of a message id); - updated $map_full_type_to_short_type_re to avoid mapping file(1) result 'MS-DOS executable (built-in)' to types 'exe-ms' and 'exe'; the file(1) utility generously declares any text file starting with LZ to be a 'MS-DOS executable (built-in)'; thanks to Noel Jones, Jakob Curdes and Clifton Royston for troubleshooting; - add X-Spam-* header fields to quarantined mail if spam score is at or above tag_level. Previously message needed to be recognized as spammy or spam (tag2 or kill level) in order to receive spam header fields in quarantined copy. This also makes it more consistent with adding such header fields to passed mail; suggested by Michael Gaskins; - add X-Amavis-OS-Fingerprint header field to quarantined mail; - header field X-Spam-Score in a passed or quarantined mail now reflects score boost even when SA score is unknown (e.g. when SA was not called), and reflects white and blacklisting by pushing score to 0 or 64, to make it consistent with a bar size in X-Spam-Level header field; - resignal "timed out" after (almost) every eval {} which has no subsequent call to prolong_timer() to ensure we do not continue running with disabled timer. Exceptions are DESTROY and END handlers, and code which handles timer in some other way (e.g. by keeping evidence of a deadline); - for the purpose of looking up client IP address in @mynetworks_maps, treat unknown/unavailable IP address as 0.0.0.0; this allows treating directly submitted mail on the MTA host (not submitted through SMTP) as coming from IP address 0.0.0.0 (i.e. "This" Network - according to RFC 1700); Note that this is indistinguishable from other reasons when IP address is not made available to amavisd, e.g. when smtp_send_xforward_command option in Postfix smtp service is not enabled, which is why the default setting of @mynetworks does not include a 0.0.0.0/8 network to prevent falsely loading a MYNETS policy bank. One should add 0.0.0.0/8 to a @mynetworks list only when XFORWARD is known to work and if some software on the MTA host is submitting its mail to MTA directly, e.g. through a sendmail command, and MYNETS policy bank loading is needed for proper processing of such mail; - report a more informative message when a file(1) utility fails to produce useful results: joins exit status with a parsing report into one message; thanks to Andres, whose file(1) utility was crashing with SEGV; - consistency: rearrange implicitly adding $X_HEADER_TAG to a hash %allowed_added_header_fields so that it is possible to turn off insertion of $X_HEADER_TAG header field by turning off associated key in %allowed_added_header_fields even when $X_HEADER_TAG is explicitly defined; - let %allowed_added_header_fields also control insertion of header fields into quarantined message; - amavisd-nanny now displays a title line indicating the semantics of columns; - Courier patch: ensure the information is stored to newly introduced recip_addr_smtp and sender_smtp object attributes, which are needed to preserve pristine address forms for DSN and ORCPT use and for logging; a patch by Martin Orr; - qmqpqq (qmail): ensure the information is stored to newly introduced recip_addr_smtp and sender_smtp object attributes; - qmail patch now activates line-by-line sending to qmail to avoid qmail bug ('bare LF' reported when CR and LF are separated by a TCP packet boundary); - tighten a regexp on matching a p0f fingerprint for Windows XP to avoid matching 'Windows XP SP1+, 2000 SP3'; suggested by Michael Scheidell; - updated AV entry for CentralCommand Vexira (vascan): removed hard-coded option '--vdb'; by Brian Wong; - internal: move code dealing with a SA call to a dedicated subroutine call_spamassassin; - internal: provide new routines to collect scalar and structured results from a subprocess (collect_results, collect_results_structured) and take advantage of them in decoding, in AV and in dspam interface routines, unifying code and providing results size sanity limit and consistent killing of runaway external programs; - experimental: taking advantage of the above, make it possible to run SA in a spawned process, requested by setting a new config variable $sa_spawned to true (it is off by default); benefits are that a mainstream child process can not be brought down by potential processing problems in SA or its external modules, and timeouts are handled cleanly by a calling process; downside is an increase of process count (worst case: doubled), with corresponding increase in memory footprint, plus about 20 .. 30 ms of additional processing time for each call to SA; - added a tuning tip on buffer sizes to README.sql for MySQL with InnoDB, by Wayne Smith; - updated URL of Sophie AV scanner; |
||
---|---|---|
.. | ||
AiCA | ||
aide | ||
aide06 | ||
AiSSLtelnet | ||
amap | ||
amavis | ||
amavis-perl | ||
amavisd-new | ||
antonym | ||
ap-modsecurity | ||
ap-modsecurity2 | ||
apg | ||
arirang | ||
audit-packages | ||
avcheck | ||
base | ||
bcrypt | ||
beecrypt | ||
bitstir | ||
botan | ||
caff | ||
cfs | ||
chkrootkit | ||
courier-authlib | ||
crack | ||
crypto++ | ||
CSP | ||
cvm | ||
cy2-anonymous | ||
cy2-crammd5 | ||
cy2-digestmd5 | ||
cy2-gssapi | ||
cy2-ldapdb | ||
cy2-login | ||
cy2-ntlm | ||
cy2-otp | ||
cy2-plain | ||
cy2-sql | ||
cyrus-sasl | ||
cyrus-saslauthd | ||
ddos-scan | ||
destroy | ||
dirb | ||
dirmngr | ||
dropbear | ||
dsniff | ||
dsniff-nox11 | ||
EasyPG | ||
egd | ||
flawfinder | ||
fprot-workstation-bin | ||
fragroute | ||
fressh | ||
fsh | ||
fwbuilder | ||
fwbuilder21 | ||
gnome-keyring | ||
gnome-keyring-manager | ||
gnu-crypto | ||
gnupg | ||
gnupg2 | ||
gnutls | ||
gpa | ||
gpass | ||
gpg2dot | ||
gpgme | ||
gpgme03 | ||
gsasl | ||
gss | ||
gtk-systrace | ||
hackbot | ||
hashcash | ||
heimdal | ||
honeyd | ||
honeyd-arpd | ||
hydan | ||
hydra | ||
ike-scan | ||
ipsec-tools | ||
isakmpd | ||
jessie | ||
john | ||
keychain | ||
kssh | ||
kth-krb4 | ||
libassuan | ||
libbf | ||
libcrack | ||
libdes | ||
libfwbuilder | ||
libfwbuilder21 | ||
libgcrypt | ||
libgpg-error | ||
libidea | ||
libident | ||
libksba | ||
libksba04 | ||
libmcrypt | ||
libnasl | ||
libprelude | ||
libpreludedb | ||
libssh | ||
libtasn1 | ||
libtcpa | ||
logcheck | ||
lsh | ||
lsh2 | ||
mcrypt | ||
md4-collision | ||
md5-collision | ||
mhash | ||
mirrordir | ||
mit-krb5 | ||
mixminion | ||
msf | ||
msu | ||
msudir | ||
MyPasswordSafe | ||
nessus | ||
nessus-core | ||
nessus-libraries | ||
nessus-plugins | ||
netramet | ||
nfsbug | ||
nikto | ||
ocaml-ssl | ||
opencdk | ||
openpam | ||
openssh | ||
openssh+gssapi | ||
openssl | ||
otpcalc | ||
p0f | ||
p5-Authen-SASL | ||
p5-Authen-SASL-Cyrus | ||
p5-Crypt-Blowfish | ||
p5-Crypt-CAST5_PP | ||
p5-Crypt-CBC | ||
p5-Crypt-CipherSaber | ||
p5-Crypt-DES | ||
p5-Crypt-DES_EDE3 | ||
p5-Crypt-DH | ||
p5-Crypt-DSA | ||
p5-Crypt-IDEA | ||
p5-Crypt-OpenPGP | ||
p5-Crypt-OpenSSL-Bignum | ||
p5-Crypt-OpenSSL-DSA | ||
p5-Crypt-OpenSSL-Random | ||
p5-Crypt-OpenSSL-RSA | ||
p5-Crypt-PasswdMD5 | ||
p5-Crypt-Primes | ||
p5-Crypt-Random | ||
p5-Crypt-RandPasswd | ||
p5-Crypt-Rijndael | ||
p5-Crypt-RIPEMD160 | ||
p5-Crypt-RSA | ||
p5-Crypt-SmbHash | ||
p5-Crypt-SSLeay | ||
p5-Crypt-Twofish | ||
p5-Digest | ||
p5-Digest-BubbleBabble | ||
p5-Digest-CRC | ||
p5-Digest-Hashcash | ||
p5-Digest-HMAC | ||
p5-Digest-MD2 | ||
p5-Digest-MD4 | ||
p5-Digest-MD5 | ||
p5-Digest-Nilsimsa | ||
p5-Digest-SHA | ||
p5-Digest-SHA1 | ||
p5-GnuPG-Interface | ||
p5-GSSAPI | ||
p5-IO-Socket-SSL | ||
p5-Module-Signature | ||
p5-Net-DNS-SEC | ||
p5-Net-SSH | ||
p5-Net-SSLeay | ||
p5-SHA | ||
p5-String-Random | ||
p5-Tie-EncryptedHash | ||
pakemon | ||
PAM | ||
pam-af | ||
pam-dbm | ||
pam-ldap | ||
pam-mysql | ||
pam-pwauth_suid | ||
pam-radius | ||
pflkm | ||
pgp2 | ||
pgp5 | ||
pgpdump | ||
pgpenvelope | ||
php-mcrypt | ||
php-mhash | ||
pinentry | ||
pinepgp | ||
pks | ||
portsentry | ||
prelude-lml | ||
prelude-manager | ||
priv | ||
prngd | ||
pscan | ||
putty | ||
pwsafe | ||
py-amkCrypto | ||
py-crack | ||
py-cryptkit | ||
py-gnupg | ||
py-gnutls | ||
py-m2crypto | ||
py-mcrypt | ||
py-OpenSSL | ||
py-paramiko | ||
py-prewikka | ||
pyca | ||
qca | ||
qca-tls | ||
qident | ||
rainbowcrack | ||
rats | ||
rc5des | ||
rid | ||
rsaref | ||
ruby-password | ||
ruby-tcpwrap | ||
scanssh | ||
seahorse | ||
seahorse-gedit | ||
seahorse-nautilus | ||
secpanel | ||
sfs | ||
sign | ||
skey | ||
smimemsg | ||
smtpd | ||
sniff | ||
snortsnarf | ||
srm | ||
srp_client | ||
ssh-askpass | ||
ssh-ip-tunnel | ||
ssh2 | ||
ssldump | ||
sslwrap | ||
starttls | ||
steghide | ||
stunnel | ||
sudo | ||
systrace-policies | ||
tacshell | ||
tcl-tls | ||
tcp_wrappers | ||
tct | ||
tinyca | ||
tkpasman | ||
tripwire | ||
uvscan | ||
xmlsec1 | ||
yafic | ||
zebedee | ||
Makefile |