This affects all versions from 2.5.0 to 2.7.2.
With the addition of configuration reloads in 2.5.0, there is a failure to
set up some configuration defaults in certain circumstances. This can
lead to crashes when particular message mutations pass through the filter
because of assertion failures or invalid pointer dereferences.
Specifically, if you don't use "-C" on the command line and don't use any
of the "On-" action directives in the configuration file (or don't use a
configuration file at all), the default actions for those exceptions are
never loaded. The action is to "continue" in those cases as a result,
rather than the intended (documented) defaults. This means when libdkim
rejects a message for formatting reasons, the filter will plunder forward,
continuing to process the same message rather than halting processing as
it should. This eventually causes the filter to make a call into the DKIM
library which causes an illegal request or an assertion failure, and the
filter will crash.
The specific instance of this that has been observed is as follows:
a) no use of "-C" on the command line
b) no "On-*" directives in the configuration file (or no configuration file)
c) a Sender: header with an address whose domain is in the list of domains
to sign
d) no From: header on the message
A permanent fix has already been added to the impending 2.8.0 release. A
patched beta release of it is already available. I expect to be posting
that around the end of this week. In the interim, you can protect your
installations from this by either:
1) starting your filter with "-C int=t" on the command line. The default
includes "int=t" so this won't change your filter's operation, but it will
cause the full set of defaults to be established properly as the filter
starts up; OR
2) editing your configuration file to contain the line:
On-InternalError tempfail
...which has the same effect.
The upcoming release fixes the filter's default loading and also hardens
the library so even without that fix (or without the filter), a crash will
no longer result.
If people want or need a patch to 2.7.2 while waiting for 2.8.0 or would
rather do that than upgrade right away to a new release, I can produce a
2.7.3 or just post a source patch here. Please let me know if you have
such requirements.
------------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It is the best place to buy or sell services for
just about anything Open Source.
http://p.sf.net/sfu/Xq1LFB
_______________________________________________
dkim-milter-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dkim-milter-discuss