X-Git-Url: http://www.privoxy.org/gitweb/?a=blobdiff_plain;f=doc%2Fsource%2Fchangelog.sgml;h=707ac5c1847889e7fdf01ecddbfa5bfe736a5e0a;hb=ec4a051cd6a42c47dd9cf2fec9a1ab179649c6d5;hp=c774583a33c355302acf5107db0d0cda1b676abc;hpb=b2207e8badcd63c00fffcd646b30f2960b4bc371;p=privoxy.git diff --git a/doc/source/changelog.sgml b/doc/source/changelog.sgml index c774583a..707ac5c1 100644 --- a/doc/source/changelog.sgml +++ b/doc/source/changelog.sgml @@ -3,9 +3,9 @@ Purpose : Entity included in other project documents. - $Id: changelog.sgml,v 2.9 2014/11/14 13:50:51 fabiankeil Exp $ + $Id: changelog.sgml,v 2.16 2016/01/22 10:20:48 fabiankeil Exp $ - Copyright (C) 2013 Privoxy Developers http://www.privoxy.org/ + Copyright (C) 2013 Privoxy Developers https://www.privoxy.org/ See LICENSE. ====================================================================== @@ -21,68 +21,34 @@ --> - Privoxy 3.0.22 stable is mainly a bug-fix - release, it also has a couple of new features, though. - Note that the first two entries in the ChangeLog below refer to security - issues: + Privoxy 3.0.24 stable contains a couple + of new features but is mainly a bug-fix release. Two of the fixed + bugs are security issues and may be used to remotely trigger crashes + on platforms that carefully check memory accesses (most don't). + + - Bug fixes: + Security fixes (denial of service): - Fixed a memory leak when rejecting client connections due to - the socket limit being reached (CID 66382). This affected - Privoxy 3.0.21 when compiled with IPv6 support (on most - platforms this is the default). - - - - - Fixed an immediate-use-after-free bug (CID 66394) and two - additional unconfirmed use-after-free complaints made by - Coverity scan (CID 66391, CID 66376). - - - - - Actually show the FORCE_PREFIX value on the show-status page. - - - - - Properly deal with Keep-Alive headers with timeout= parameters - If the timeout still can't be parsed, use the configured - timeout instead of preventing the client from keeping the - connection alive. Fixes #3615312/#870 reported by Bernard Guillot. - - - - - Not using any filter files no longer results in warning messages - unless an action file is referencing header taggers or filters. - Reported by Stefan Kurtz in #3614835. + Prevent invalid reads in case of corrupt chunk-encoded content. + CVE-2016-1982. Bug discovered with afl-fuzz and AddressSanitizer. - Fixed a bug that prevented Privoxy from reusing some reusable - connections. Two bit masks with different purpose unintentionally - shared the same bit. - - - - - A couple of additional bugs were discovered by Coverity Scan. - The fixes that are not expected to affect users are not explicitly - mentioned here, for details please have a look at the CVS logs. + Remove empty Host headers in client requests. + Previously they would result in invalid reads. CVE-2016-1983. + Bug discovered with afl-fuzz and AddressSanitizer. @@ -90,90 +56,101 @@ - General improvements: + Bug fixes: - Introduced negative tag patterns NO-REQUEST-TAG and NO-RESPONSE-TAG. - They apply if no matching tag is found after parsing client or - server headers. + When using socks5t, send the request body optimistically as well. + Previously the request body wasn't guaranteed to be sent at all + and the error message incorrectly blamed the server. + Fixes #1686 reported by Peter Müller and G4JC. - Add support for external filters which allow to process the - response body with a script or program written in any language - the platform supports. External filters are enabled with - +external-filter{} after they have been defined in one of the - filter files with a header line starting with "EXTERNAL-FILTER:". - External filter support is experimental, not compiled by default - and known not to work on all platforms. + Fixed buffer scaling in execute_external_filter() that could lead + to crashes. Submitted by Yang Xia in #892. - Add support for the 'PATCH' method as defined in RFC5789. + Fixed crashes when executing external filters on platforms like + Mac OS X. Reported by Jonathan McKenzie on ijbswa-users@. - Reject requests with unsupported Expect header values. - Fixes a couple of Co-Advisor tests. + Properly parse ACL directives with ports when compiled with HAVE_RFC2553. + Previously the port wasn't removed from the host and in case of + 'permit-access 127.0.0.1 example.org:80' Privoxy would try (and fail) + to resolve "example.org:80" instead of example.org. + Reported by Pak Chan on ijbswa-users@. - Normalize the HTTP-version in forwarded requests and responses. - This is an explicit RFC 2616 MUST and RFC 7230 mandates that - intermediaries send their own HTTP-version in forwarded - messages. + Check requests more carefully before serving them forcefully + when blocks aren't enforced. Privoxy always adds the force token + at the beginning of the path, but would previously accept it anywhere + in the request line. This could result in requests being served that + should be blocked. For example in case of pages that were loaded with + force and contained JavaScript to create additionally requests that + embed the origin URL (thus inheriting the force prefix). + The bug is not considered a security issue and the fix does not make + it harder for remote sites to intentionally circumvent blocks if + Privoxy isn't configured to enforce them. + Fixes #1695 reported by Korda. - Server 'Keep-Alive' headers are no longer forwarded. From a user's - point of view it doesn't really matter, but RFC 2616 (obsolete) - mandates that the header is removed and this fixes a Co-Advisor - complaint. + Normalize the request line in intercepted requests to make rewriting + the destination more convenient. Previously rewrites for intercepted + requests were expected to fail unless $hostport was being used, but + they failed "the wrong way" and would result in an out-of-memory + message (vanilla host patterns) or a crash (extended host patterns). + Reported by "Guybrush Threepwood" in #1694. - Change declared template file encoding to UTF-8. The templates - already used a subset of UTF-8 anyway and changing the declaration - allows to properly display UTF-8 characters used in the action files. - This change may require existing action files with ISO-8859-1 - characters that aren't valid UTF-8 to be converted to UTF-8. - Requested by Sam Chen in #582. + Enable socket lingering for the correct socket. + Previously it was repeatedly enabled for the listen socket + instead of for the accepted socket. The bug was found by + code inspection and did not cause any (reported) issues. - Do not pass rejected keep-alive timeouts to the server. It might - not have caused any problems (we know of), but doing the right - thing shouldn't hurt either. + Detect and reject parameters for parameter-less actions. + Previously they were silently ignored. - Let log_error() use its own buffer size #define to make changing - the log buffer size slightly less inconvenient. + Fixed invalid reads in internal and outdated pcre code. + Found with afl-fuzz and AddressSanitizer. - Turned single-threaded into a "proper" toggle directive with arguments. + Prevent invalid read when loading invalid action files. + Found with afl-fuzz and AddressSanitizer. - CGI templates no longer enforce new windows for some links. + Windows build: Use the correct function to close the event handle. + It's unclear if this bug had a negative impact on Privoxy's behaviour. + Reported by Jarry Xu in #891. - Remove an undocumented workaround ('HOST' header removal) for - an Apple iTunes bug that according to #729900 got fixed in 2003. + In case of invalid forward-socks5(t) directives, use the + correct directive name in the error messages. Previously they + referred to forward-socks4t failures. + Reported by Joel Verhagen in #889. @@ -181,114 +158,74 @@ - Action file improvements: + General improvements: - The pattern 'promotions.' is no longer being blocked. - Reported by rakista in #3608540. - - - - - Disable fast-redirects for .microsofttranslator.com/. - - - - - Disable filter{banners-by-size} for .dgb-tagungszentren.de/. - - - - - Add adn.speedtest.net as a site-specific unblocker. - Support request #3612908. - - - - - Disable filter{banners-by-size} for creativecommons.org/. - - - - - Block requests to data.gosquared.com/. Reported by cbug in #3613653. + Set NO_DELAY flag for the accepting socket. This significantly reduces + the latency if the operating system is not configured to set the flag + by default. Reported by Johan Sintorn in #894. - Unblock .conrad./newsletter/. Reported by David Bo in #3614238. + Allow to build with mingw x86_64. Submitted by Rustam Abdullaev in #135. - Unblock .bundestag.de/. + Introduce the new forwarding type 'forward-webserver'. + Currently it is only supported by the forward-override{} action and + there's no config directive with the same name. The forwarding type + is similar to 'forward', but the request line only contains the path + instead of the complete URL. - Unblock .rote-hilfe.de/. + The CGI editor no longer treats 'standard.action' special. + Nowadays the official "standards" are part of default.action + and there's no obvious reason to disallow editing them through + the cgi editor anyway (if the user decided that the lack of + authentication isn't an issue in her environment). - Disable fast-redirects for .facebook.com/plugins/like.php. + Improved error messages when rejecting intercepted requests + with unknown destination. - Unblock Stackexchange popup URLs that aren't used to serve ads. - Reported by David Wagner in #3615179. + A couple of log messages now include the number of active threads. - Disable fast-redirects for creativecommons.org/. + Removed non-standard Proxy-Agent headers in HTTP snipplets + to make testing more convenient. - Unblock .stopwatchingus.info/. + Include the error code for pcre errors Privoxy does not recognize. - Block requests for .adcash.com/script/. - Reported by Tyrexionibus in #3615289. + Config directives with numerical arguments are checked more carefully. - Disable HTML filters if the response was tagged as JavaScript. - Filtering JavaScript code with filters intended to deal with HTML - is usually a waste of time and, more importantly, may break stuff. + Privoxy's malloc() wrapper has been changed to prevent zero-size + allocations which should only occur as the result of bugs. - Use a custom redirect{} for .washingtonpost.com/wp-apps/imrs\.php\?src= - Previously enabling the 'Advanced' settings (or manually enabling - +fast-redirects{}) prevented some images from being loaded properly. - - - - - Unblock "adina*." Fixes #919 reported by Morton A. Goldberg. - - - - - Block '/.*DigiAd'. - - - - - Unblock 'adele*.'. Reported by Adele Lime in #1663. - - - - - Disable banners-by-size for kggp.de/. + Various cosmetic changes. @@ -296,139 +233,55 @@ - Filter file improvements & bug fixes: - - - - Decrease the chances that js-annoyances creates invalid JavaScript. - Submitted by John McGowan on ijbswa-users@. - - - - - Let the msn filter hide 'related' ads again. - - - - - Remove a stray '1' in the 'html-annoyances' filter. - - - - - Prevent img-reorder from messing up img tags with empty src - attributes. Fixes #880 reported by Duncan. - - - - - - - - Documentation improvements: + Action file improvements: - Updated the 'Would you like to donate?' section. - - - - - Note that invalid forward-override{} parameter syntax isn't - detected until the parameter is used. - - - - - Add another +redirect{} example: a shortcut for illumos bugs. - - - - - Make it more obvious that many operating systems support log - rotation out of the box. - - - - - Fixed dead links. Reported by Mark Nelson in #3614557. - - - - - Rephrased the 'Why is the configuration so complicated?' answer - to be slightly less condescending. Anonymously suggested in #3615122. - - - - - Be more explicit about accept-intercepted-requests's lack of MITM support. + Unblock ".deutschlandradiokultur.de/". + Reported by u302320 in #924. - Make 'demoronizer' FAQ entries more generic. + Add two fast-redirect exceptions for "yandex.ru". - Add an example hostname to the --pre-chroot-nslookup description. + Disable filter{banners-by-size} for ".plasmaservice.de/". - Add an example for a host pattern that matches an IP address. + Unblock "klikki.fi/adv/". - Rename the 'domain pattern' to 'host pattern' as it may - contain IP addresses as well. + Block requests for "resources.infolinks.com/". + Reported by "Black Rider" on ijbswa-users@. - Recommend forward-socks5t when using Tor. It seems to work fine and - modifying the Tor configuration to profit from it hasn't been necessary - for a while now. + Block a bunch of criteo domains. + Reported by Black Rider. - Add another redirect{} example to stress that redirect loops can - and should be avoided. + Block "abs.proxistore.com/abe/". + Reported by Black Rider. - The usual spelling and grammar fixes. Parts of them were - reported by Reuben Thomas in #3615276. + Disable filter{banners-by-size} for ".black-mosquito.org/". - Mention the PCRS option letters T and D in the filter section. - - - - - Clarify that handle-as-empty-doc-returns-ok is still useful - and will not be removed without replacement. - - - - - Note that security issues shouldn't be reported using the bug tracker. - - - - - Clarify what Privoxy does if both +block{} and +redirect{} apply. - - - - - Removed the obsolete bookmarklets section. + Disable fast-redirects for "disqus.com/". @@ -436,54 +289,46 @@ - Build system improvements: + Documentation improvements: - Let --with-group properly deal with secondary groups. - Patch submitted by Anatoly Arzhnikov in #3615187. - - - - - Fix web-actions target. - - - - - Add a web-faq target that only updates the FAQ on the webserver. - - - - - Remove already-commented-out non-portable DOSFILTER alternatives. + FAQ: Explicitly point fingers at ASUS as an example of a + company that has been reported to force malware based on + Privoxy upon its customers. - Remove the obsolete targets dok-put and dok-get. + Correctly document the action type for a bunch of "multi-value" + actions that were incorrectly documented to be "parameterized". + Reported by Gregory Seidman on ijbswa-users@. - Add a sf-shell target. + Fixed the documented type of the forward-override{} action + which is obviously 'parameterized'. - - - Known bugs: + Website improvements: - + + + Users who don't trust binaries served by SourceForge + can get them from a mirror. Migrating away from SourceForge + is planned for 2016 (TODO list item #53). + + + - To compile with --disable-force you need this patch which - didn't make it into the release. - Thanks to Kai Raven for the report. + The website is now available as onion service + (http://jvauzb4sb3bwlsnc.onion/).