SUSE 5024 Published by

A privoxy security update has been released for openSUSE Leap 15.2.



openSUSE-SU-2021:0443-1: moderate: Security update for privoxy


openSUSE Security Update: Security update for privoxy
______________________________________________________________________________

Announcement ID: openSUSE-SU-2021:0443-1
Rating: moderate
References: #1183129
Cross-References: CVE-2021-20272 CVE-2021-20273 CVE-2021-20274
CVE-2021-20275 CVE-2021-20276
CVSS scores:
CVE-2021-20272 (NVD) : 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVE-2021-20273 (NVD) : 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVE-2021-20274 (NVD) : 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVE-2021-20275 (NVD) : 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVE-2021-20276 (NVD) : 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Affected Products:
openSUSE Leap 15.2
______________________________________________________________________________

An update that fixes 5 vulnerabilities is now available.

Description:

This update for privoxy fixes the following issues:

Update to version 3.0.32:

- Security/Reliability (boo#1183129)

- ssplit(): Remove an assertion that could be triggered with a crafted
CGI request. Commit 2256d7b4d67. OVE-20210203-0001. CVE-2021-20272
Reported by: Joshua Rogers (Opera)
- cgi_send_banner(): Overrule invalid image types. Prevents a crash
with a crafted CGI request if Privoxy is toggled off. Commit
e711c505c48. OVE-20210206-0001. CVE-2021-20273 Reported by: Joshua
Rogers (Opera)
- socks5_connect(): Don't try to send credentials when none are
configured. Fixes a crash due to a NULL-pointer dereference when the
socks server misbehaves. Commit 85817cc55b9. OVE-20210207-0001.
CVE-2021-20274 Reported by: Joshua Rogers (Opera)
- chunked_body_is_complete(): Prevent an invalid read of size two.
Commit a912ba7bc9c. OVE-20210205-0001. CVE-2021-20275 Reported by:
Joshua Rogers (Opera)
- Obsolete pcre: Prevent invalid memory accesses with an invalid
pattern passed to pcre_compile(). Note that the obsolete pcre code
is scheduled to be removed before the 3.0.33 release. There has been
a warning since 2008 already. Commit 28512e5b624. OVE-20210222-0001.
CVE-2021-20276 Reported by: Joshua Rogers (Opera)

- Bug fixes:

- Properly parse the client-tag-lifetime directive. Previously it was
not accepted as an obsolete hash value was being used. Reported by:
Joshua Rogers (Opera)
- decompress_iob(): Prevent reading of uninitialized data. Reported
by: Joshua Rogers (Opera).
- decompress_iob(): Don't advance cur past eod when looking for the
end of the file name and comment.
- decompress_iob(): Cast value to unsigned char before shifting.
Prevents a left-shift of a negative value which is undefined
behaviour. Reported by: Joshua Rogers (Opera)
- gif_deanimate(): Confirm that that we have enough data before doing
any work. Fixes a crash when fuzzing with an empty document.
Reported by: Joshua Rogers (Opera).
- buf_copy(): Fail if there's no data to write or nothing to do.
Prevents undefined behaviour "applying zero offset to null pointer".
Reported by: Joshua Rogers (Opera)
- log_error(): Treat LOG_LEVEL_FATAL as fatal even when --stfu is
being used while fuzzing. Reported by: Joshua Rogers (Opera).
- Respect DESTDIR when considering whether or not to install config
files with ".new" extension.
- OpenSSL ssl_store_cert(): Fix two error messages.
- Fix a couple of format specifiers.
- Silence compiler warnings when compiling with NDEBUG.
- fuzz_server_header(): Fix compiler warning.
- fuzz_client_header(): Fix compiler warning.
- cgi_send_user_manual(): Also reject requests if the user-manual
directive specifies a https:// URL. Previously Privoxy would try and
fail to open a local file.

- General improvements:

- Log the TLS version and the the cipher when debug 2 is enabled.
- ssl_send_certificate_error(): Respect HEAD requests by not sending a
body.
- ssl_send_certificate_error(): End the body with a single new line.
- serve(): Increase the chances that the host is logged when closing a
server socket.
- handle_established_connection(): Add parentheses to clarify an
expression Suggested by: David Binderman
- continue_https_chat(): Explicitly unset
CSP_FLAG_CLIENT_CONNECTION_KEEP_ALIVE if process_encrypted_request()
fails. This makes it more obvious that the connection will not be
reused. Previously serve() relied on
CSP_FLAG_SERVER_CONTENT_LENGTH_SET and CSP_FLAG_CHUNKED being unset.
Inspired by a patch from Joshua Rogers (Opera).
- decompress_iob(): Add periods to a couple of log messages
- Terminate the body of the HTTP snipplets with a single new line
instead of "\r\n".
- configure: Add --with-assertions option and only enable assertions
when it is used
- windows build: Use --with-brotli and --with-mbedtls by default and
enable dynamic error checking.
- gif_deanimate(): Confirm we've got an image before trying to write
it Saves a pointless buf_copy() call.
- OpenSSL ssl_store_cert(): Remove a superfluous space before the
serial number.

- Action file improvements:

- Disable fast-redirects for .golem.de/
- Unblock requests to adri*.
- Block requests for trc*.taboola.com/
- Disable fast-redirects for .linkedin.com/

- Filter file improvements:

- Make the second pcrs job of the img-reorder filter greedy again. The
ungreedy version broke the img tags on:
  https://bulk.fefe.de/scalability/.

- Privoxy-Log-Parser:

- Highlight a few more messages.
- Clarify the --statistics output. The shown "Reused connections" are
server connections so name them appropriately.
- Bump version to 0.9.3.

- Privoxy-Regression-Test:

- Add the --check-bad-ssl option to the --help output.
- Bump version to 0.7.3.

- Documentation:

- Add pushing the created tag to the release steps in the developer
manual.
- Clarify that 'debug 32768' should be used in addition to the other
debug directives when reporting problems.
- Add a 'Third-party licenses and copyrights' section to the user
manual.

Patch Instructions:

To install this openSUSE Security Update use the SUSE recommended installation methods
like YaST online_update or "zypper patch".

Alternatively you can run the command listed for your product:

- openSUSE Leap 15.2:

zypper in -t patch openSUSE-2021-443=1


Package List:

- openSUSE Leap 15.2 (x86_64):

privoxy-3.0.32-lp152.3.9.1
privoxy-debuginfo-3.0.32-lp152.3.9.1
privoxy-debugsource-3.0.32-lp152.3.9.1

- openSUSE Leap 15.2 (noarch):

privoxy-doc-3.0.32-lp152.3.9.1

References:

  https://www.suse.com/security/cve/CVE-2021-20272.html
  https://www.suse.com/security/cve/CVE-2021-20273.html
  https://www.suse.com/security/cve/CVE-2021-20274.html
  https://www.suse.com/security/cve/CVE-2021-20275.html
  https://www.suse.com/security/cve/CVE-2021-20276.html
  https://bugzilla.suse.com/1183129