SUSE Security Update: Security update for rmt-server
______________________________________________________________________________

Announcement ID:    SUSE-SU-2020:3160-1
Rating:             important
References:         #1172177 #1172182 #1172184 #1172186 #1173351 
                    
Cross-References:   CVE-2019-16770 CVE-2019-5418 CVE-2019-5419
                    CVE-2019-5420 CVE-2020-11076 CVE-2020-11077
                    CVE-2020-15169 CVE-2020-5247 CVE-2020-5249
                    CVE-2020-5267 CVE-2020-8164 CVE-2020-8165
                    CVE-2020-8166 CVE-2020-8167 CVE-2020-8184
                    CVE-2020-8185
Affected Products:
                    SUSE Linux Enterprise Module for Server Applications 15-SP1
                    SUSE Linux Enterprise Module for Public Cloud 15-SP1
______________________________________________________________________________

   An update that fixes 16 vulnerabilities is now available.

Description:

   This update for rmt-server fixes the following issues:

   - Version 2.6.5
   - Solved potential bug of SCC repository URLs changing over time. RMT now
     self heals by removing the previous invalid repository and creating the
     correct one.

   - Version 2.6.4
   - Add web server settings to /etc/rmt.conf: Now it's possible to configure
     the minimum and maximum threads count as well the number of web server
     workers to be booted through /etc/rmt.conf.

   - Version 2.6.3
   - Instead of using an MD5 of URLs for custom repository friendly_ids, RMT
     now builds an ID from the name.

   - Version 2.6.2
   - Fix RMT file caching based on timestamps: Previously, RMT sent GET
     requests with the header 'If-Modified-Since' to a repository server and
     if the response had a 304 (Not Modified), it would copy a file from the
     local cache instead of downloading. However, if the local file timestamp
     accidentally changed to a date newer than the one on the repository
     server, RMT would have an outdated file, which caused some errors. Now,
     RMT makes HEAD requests to the repositories servers and inspect the
     'Last-Modified' header to decide whether to download a file or copy it
     from cache, by comparing the equalness of timestamps.


   - Version 2.6.1
   - Fixed an issue where relative paths supplied to `rmt-cli import repos`
     caused the command to fail.

   - Version 2.6.0
   - Friendlier IDs for custom repositories: In an effort to simplify the
     handling of SCC and custom repositories, RMT now has friendly IDs. For
     SCC repositories, it's the same SCC ID as before. For custom
     repositories, it can either be user provided
     or RMT generated (MD5 of the provided URL). Benefits:
     * `rmt-cli mirror repositories` now works for custom repositories.
     * Custom repository IDs can be the same across RMT instances.
     * No more confusing "SCC ID" vs "ID" in `rmt-cli` output. Deprecation
       Warnings:
     * RMT now uses a different ID for custom repositories than before. RMT
       still supports that old ID, but it's recommended to start using the
       new ID to ensure future compatibility.

   - Version 2.5.20
   - Updated rails from 6.0.3.2 to 6.0.3.3:
     - actionview (CVE-2020-15169)

   - Version 2.5.19
   - RMT now has the ability to remove local systems with the command
     `rmt-cli systems remove`.

   - Version 2.5.18
   - Fixed exit code for `rmt-cli mirror` and its subcommands. Now it exits
     with 1 whenever an error occurs during mirroring
   - Improved message logging for `rtm-cli mirror`. Instead of logging an
     error when it occurs, the command summarize all errors at the end of
     execution. Now log messages have colors to better identify
     failure/success.

   - Version 2.5.17
   - RMT no longer provides the installer updates repository to systems via
     its zypper service. This repository is used during the installation
     process, as it provides an up-to-date installation experience, but it
     has no use on an already installed system.

   - Version 2.5.16
   - Updated RMT's rails and puma dependencies.
     - puma (CVE-2020-11076, CVE-2020-11077, CVE-2020-5249, CVE-2020-5247
       CVE-2019-16770)
     - actionpack (CVE-2020-8185, CVE-2020-8164, CVE-2020-8166)
     - actionview (CVE-2020-8167, CVE-2020-5267, CVE-2019-5418, CVE-2019-5419)
     - activesupport (CVE-2020-8165)
     - railties (CVE-2019-5420)

   - Version 2.5.15
   - RMT now checks if repositories are fully mirrored during the activation
     process. Previously, RMT only checked if the repositories were enabled
     to be mirrored, but not that they were actually mirrored. In this case,
     RMTs were not able to provide the repository data which systems assumed
     it had.

   - Version 2.5.14
   - Enable 'Installer-Updates' repositories by default

   - Fixed deprecation warning when thor encountered an error. Also, instead
     of returning 0 for thor errors, rmt-cli will return 1 instead.

   - Version 2.5.13
   - Added `rmt-cli repos clean` command to remove locally mirrored files
     of repositories which are not marked to be mirrored.
   - Previously, RMT didn't track deduplicated files in its database. Now, to
     accommodate `rmt-cli repos clean`, RMT will track all mirrored files.

   - Move the nginx reload to the configuration package which contain nginx
     config files, don't reload nginx unconditionally from main package.

   - Version 2.5.12
   - Update rack to version 2.2.3 (CVE-2020-8184: bsc#1173351)
   - Update Rails to version 5.2.4.3:
     - actionpack (CVE-2020-8164: bsc#1172177)
     - actionpack (CVE-2020-8166: bsc#1172182)
     - activesupport (CVE-2020-8165: bsc#1172186)
     - actionview (CVE-2020-8167: bsc#1172184)

   - Version 2.5.11
   - rmt-server-pubcloud:
     - SLES11 EOL
     - Extension activation verification based on the available subscriptions
     - Added a manual instance verification script

   - Version 2.5.10
   - Support rmt-server to run with Ruby 2.7 (Factory/Tumbleweed):
     - Bump gem 'config' version from 1.7.2 to 2.2.1 to fix incompatibility
       Ruby 2.7 OpenStruct class;
     - Bump gem 'typhoeus' version from 1.3.1 to 1.4.0 in order to also bump
       gem 'ethon' version, which caused a 'rb_safe_level' warning on Ruby
       2.7;
     - Fix "last arg as keyword arg" Ruby 2.7 warning on source code;
     - Disable "deprecated" warnings from Ruby 2.7; Rails 5.1 generates a lot
       of warnings with Ruby 2.7, mainly due to "capturing the given block
       with Proc.new", which is deprecated;
     - Improve RPM spec to consider only the distribution default Ruby
       version configured in OBS;
     - Improve RPM spec to remove Ruby 2.7 warnings regarding 'bundler.

   - Move nginx/vhosts.d directory to correct sub-package. They are needed
     together with nginx, not rmt-server.
   - Fix dependencies especially for containerized usage:
     - mariadb and nginx are not hard requires, could run on another host
   - Fix generic dependencies:
     - systemd ordering was missing
     - shadow is required for pre-install

   - Version 2.5.9
   - rmt-server-pubcloud: enforce strict authentication

   - Version 2.5.8
   - Use repomd_parser gem to remove repository metadata parsing code.


Patch Instructions:

   To install this SUSE 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:

   - SUSE Linux Enterprise Module for Server Applications 15-SP1:

      zypper in -t patch SUSE-SLE-Module-Server-Applications-15-SP1-2020-3160=1

   - SUSE Linux Enterprise Module for Public Cloud 15-SP1:

      zypper in -t patch SUSE-SLE-Module-Public-Cloud-15-SP1-2020-3160=1



Package List:

   - SUSE Linux Enterprise Module for Server Applications 15-SP1 (aarch64 ppc64le s390x x86_64):

      rmt-server-2.6.5-3.18.1
      rmt-server-config-2.6.5-3.18.1
      rmt-server-debuginfo-2.6.5-3.18.1

   - SUSE Linux Enterprise Module for Public Cloud 15-SP1 (aarch64 ppc64le s390x x86_64):

      rmt-server-debuginfo-2.6.5-3.18.1
      rmt-server-pubcloud-2.6.5-3.18.1


References:

   https://www.suse.com/security/cve/CVE-2019-16770.html
   https://www.suse.com/security/cve/CVE-2019-5418.html
   https://www.suse.com/security/cve/CVE-2019-5419.html
   https://www.suse.com/security/cve/CVE-2019-5420.html
   https://www.suse.com/security/cve/CVE-2020-11076.html
   https://www.suse.com/security/cve/CVE-2020-11077.html
   https://www.suse.com/security/cve/CVE-2020-15169.html
   https://www.suse.com/security/cve/CVE-2020-5247.html
   https://www.suse.com/security/cve/CVE-2020-5249.html
   https://www.suse.com/security/cve/CVE-2020-5267.html
   https://www.suse.com/security/cve/CVE-2020-8164.html
   https://www.suse.com/security/cve/CVE-2020-8165.html
   https://www.suse.com/security/cve/CVE-2020-8166.html
   https://www.suse.com/security/cve/CVE-2020-8167.html
   https://www.suse.com/security/cve/CVE-2020-8184.html
   https://www.suse.com/security/cve/CVE-2020-8185.html
   https://bugzilla.suse.com/1172177
   https://bugzilla.suse.com/1172182
   https://bugzilla.suse.com/1172184
   https://bugzilla.suse.com/1172186
   https://bugzilla.suse.com/1173351