<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, May 17, 2016 at 3:02 PM, Sean Myers <span dir="ltr"><<a href="mailto:sean.myers@redhat.com" target="_blank">sean.myers@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">Pulp 2.8.3 is now available!<br>
<br>
Pulp has been updated, along with the Puppet (pulp_puppet) and RPM (pulp_rpm) plugins.<br>
<br>
This release also includes updates for OSTree plugin (pulp_ostree) version<br>
1.1.1, the Docker plugin (pulp_docker) version 2.0.1, and the Python plugin<br>
(pulp_python) version 1.1.1.<br>
<br>
The release is available in the pulp beta repository for 2.8:<br>
<a href="https://repos.fedorapeople.org/repos/pulp/pulp/stable/2.8/" rel="noreferrer" target="_blank">https://repos.fedorapeople.org/repos/pulp/pulp/stable/2.8/</a><br>
<br>
Migrations will need to be run for this release. See the Upgrade Instructions<br>
below for more details.<br>
<br>
<br>
Security Issues Addressed<br>
=========================<br>
<br>
CVE-2016-3111 (Low Impact):<br>
pulp.spec generates its RSA keys for message signing insecurely<br>
<a href="https://pulp.plan.io/issues/1837" rel="noreferrer" target="_blank">https://pulp.plan.io/issues/1837</a><br>
<br>
CVE-2016-3112 (Moderate Impact):<br>
Pulp consumer private keys are world-readable<br>
<a href="https://pulp.plan.io/issues/1834" rel="noreferrer" target="_blank">https://pulp.plan.io/issues/1834</a><br>
<br>
CVE-2016-3107 (Moderate Impact):<br>
Node certificate containing private key stored in world-readable file<br>
<a href="https://pulp.plan.io/issues/1833" rel="noreferrer" target="_blank">https://pulp.plan.io/issues/1833</a><br>
<br>
CVE-2016-3108 (Moderate Impact):<br>
Insecure temporary file used when generating certificate for Pulp Nodes<br>
<a href="https://pulp.plan.io/issues/1830" rel="noreferrer" target="_blank">https://pulp.plan.io/issues/1830</a><br>
<br>
CVE-2016-3106 (Low Impact):<br>
Insecure creation of temporary directory when generating new CA key<br>
<a href="https://pulp.plan.io/issues/1827" rel="noreferrer" target="_blank">https://pulp.plan.io/issues/1827</a><br>
<br>
Additionally, CVE-2013-7450 was announced during this release cycle, even<br>
though it was fixed in Pulp 2.3.0. Users who have upgraded from Pulp < 2.3.0<br>
may still be vulnerable, action may be required (see below).<br>
<a href="https://bugzilla.redhat.com/show_bug.cgi?id=1003326" rel="noreferrer" target="_blank">https://bugzilla.redhat.com/show_bug.cgi?id=1003326</a><br>
<br>
See the upgrade instructions below for more information on addressing these<br>
vulnerabilities.<br>
<br>
<br>
Known Issues<br>
============<br>
<br>
Changes to the squid package in fedora 22 are causing selinux denials to prevent squid<br>
from starting on systems using pulp's lazy download features. At this time, all other<br>
platforms appear to be working normally: only fedora 22 is affected.<br>
<br>
This issue is being tracked in our tracker. Links to upstream issues and workarounds<br>
can be found there:<br>
<br>
<a href="https://pulp.plan.io/issues/1904" rel="noreferrer" target="_blank">https://pulp.plan.io/issues/1904</a><br>
<br>
<br>
Issues Addressed<br>
================<br>
<br>
  Docker Support<br>
        1818    Add migration - content units to standard storage path.<br>
  Nectar<br>
        1820    Fix checking for config.proxy_username<br></blockquote><div><br></div><div>I see this change within the commit history of the repository but I don't see a new RPM with this change released into it.</div><div><br></div><div>Eric</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
  OSTree Support<br>
        1106    relative_path should be checked for url collision<br>
  Pulp<br>
        1576    content type mongo id searches not working<br>
        1764    SELinux denial on Celery attempting to read resolv.conf<br>
        1771    requests or urllib3 can't read a file which causes Nectar to fail mysteriously<br>
        1801    Pulp celery_beat and resource_manager are running, but logs say they are not running<br>
        1802    Pulp 2.8 client no longer supports sha1 RPM checksum type<br>
        1809    python 2.6 incompatibility during set_importer<br>
        1747    Import upload task has unexpected/missing information on error<br>
        1784    regression: "pulp-admin rpm repo search" with filters does not work as expected<br>
        1834    CVE-2016-3112: Pulp consumer private keys are world-readable<br>
        1837    CVE-2016-3111: pulp.spec generates its RSA keys for message signing insecurely<br>
        1791    After upgrading from 2.7.1 to pulp 2.8.0 getting 403 error's on all my Pulp repo's.<br>
        1794    A Pulp unit test is failing to find a certificate to be valid<br>
        1824    iso repo publish fails for file in subdirectories<br>
        1827    CVE-2016-3106: Insecure creation of temporary directory when generating new CA key<br>
        1830    CVE-2016-3108: Insecure temporary file used when generating certificate for Pulp Nodes<br>
        1833    CVE-2016-3107: Node certificate containing private key stored in world-readable file<br>
        1601    Migrate /var/lib/pulp/content to new 2.8 storage paths.<br>
        1815    Create a common 2.8 storage path migration to be used by plugins<br>
  Puppet Support<br>
        1780    PLP0000: Update failed (The dotted field 'thomasmckay-rsync-0.4.1-thomasmckay'<br>
        1817    Add migration - content units to standard storage path.<br>
  Python Support<br>
        1855    Upload broken<br>
        1819    Add migration - content units to standard storage path.<br>
  RPM Support<br>
        1869    Resynchronizing rhel repos seems to be failing after upgrade<br>
        1768    Unable to sync RHEL 5 repositories with a distribution<br>
        1792    recursive and depsolving unit copy results in PulpExecutionException<br>
        1843    Pulp publishes invalid PULP_DISTRIBUTION.xml metadata<br>
        1778    Switching a repository to immediate from on_demand doesn't download its packages<br>
        1828    pulp doesn't sync reference title correctly from errata<br>
        1835    export fails when units are not downloaded<br>
        1782    <reboot_suggested>None</reboot_suggested> in generated XML for unit with no 'reboot_suggested'<br>
        1808    exporting a sufficiently large repo with 'on_demand' policy results in BSON error<br>
        1812    Comps.xml upload succeeds but units are not associated to the repo.<br>
        1813    Handle duplicate key error in comps.xml upload<br>
        1856    publishing kickstart repo fails on EL6<br>
        1816    Add migration - content units to standard storage path.<br>
<br>
<br>
Upgrade instructions<br>
====================<br>
<br>
Some of the CVEs require user interaction to remedy. Begin by upgrading to<br>
Pulp 2.8.3, and running migrations:<br>
<br>
$ sudo systemctl stop httpd pulp_workers pulp_resource_manager pulp_celerybeat goferd<br>
$ sudo yum upgrade<br>
$ sudo -u apache pulp-manage-db<br>
$ sudo systemctl start httpd pulp_workers pulp_resource_manager pulp_celerybeat goferd<br>
<br>
CVE-2016-3112 (Part I)<br>
----------------------<br>
<br>
The client certificate for consumers<br>
(/etc/pki/pulp/consumer/consumer-cert.pem) was installed world-readable. This<br>
issue has been fixed for new certificates issued to consumers, but upgrading<br>
to 2.8.3 does not modify the permissions of old certificates. It is<br>
recommended that users regenerate the certificates by unregistering and<br>
re-registering all consumers. However, the consumers cannot be re-registered<br>
until CVE-2013-7450, CVE-2016-3095, CVE-2016-3106, and CVE-2016-3111 have<br>
been addressed below. Thus, start by unregistering each of your consumers (we<br>
will return to this CVE later to re-register them):<br>
<br>
$ sudo pulp-consumer unregister<br>
<br>
CVE-2013-7450, CVE-2016-3095, and CVE-2016-3106<br>
-----------------------------------------------<br>
<br>
There are two reasons that you may wish to regenerate Pulp's internal<br>
certificate authority key and certificate. First, if your Pulp installation<br>
started off as a version lower than 2.3.0 and you are still using the default<br>
CA certificate and key that was distributed with those versions of Pulp, then<br>
you are still vulnerable to CVE-2013-7450 and it is crucial that you generate<br>
a new unique CA.<br>
<br>
Additionally, CVE-2016-3095 and CVE-2016-3106 made it possible for local<br>
attackers to read the CA key during generation (which happens during the<br>
initial installation of Pulp or any time an admin ran<br>
pulp-gen-ca-certificate). If you are concerned that a local user may have<br>
read that CA key during the brief window that it was visible it is<br>
recommended that you regenerate the key and cert.<br>
<br>
To regenerate the certificate, you should remove the old one and then you may<br>
use the provided utility:<br>
<br>
# First remove the old files so that the new files get the correct SELinux<br>
context.<br>
<br>
$ sudo rm /etc/pki/pulp/ca.*<br>
$ sudo pulp-gen-ca-certificate<br>
<br>
If you choose not to perform the CA regeneration, you may wish to apply the<br>
correct SELinux type to your existing CA files as versions of Pulp < 2.8.3<br>
generated this file with an incorrect SELinux type. You don't need to do this<br>
if you removed the old file and regenerated it with pulp-gen-ca-certificate.<br>
You can run restorecon recursively on the /etc/pki/pulp folder to fix the<br>
SELinux label on your existing CA certificate:<br>
<br>
# You only need to do this if you didn't regenerate the CA above.<br>
$ sudo restorecon -R /etc/pki/pulp<br>
<br>
CVE-2016-3107 and CVE-2016-3108<br>
-------------------------------<br>
<br>
For Nodes users, the /etc/pki/pulp/nodes/node.crt file was installed<br>
world-readable. Users are recommended to remove this file and regenerate it<br>
by running pulp-gen-nodes-certificate:<br>
<br>
# It is important to remove the file so that the new file has the correct<br>
permissions.<br>
$ sudo rm /etc/pki/pulp/nodes/node.crt<br>
$ sudo pulp-gen-nodes-certificate<br>
<br>
CVE-2016-3111<br>
-------------<br>
<br>
Both the RSA key pair for the Pulp server and RSA key pair for each Pulp<br>
consumer was generated during installation in an insecure directory. This<br>
vulnerability allowed a local attacker to read the private key portion of the<br>
key pair. These keys are used for message authentication between the Pulp<br>
server and the Pulp consumers. If you are concerned that a local attacker was<br>
able to read these keys, you can regenerate them. We do not ship a script to<br>
perform this, but the process is straight-forward. For the Pulp server, do<br>
the following as root:<br>
<br>
$ cd /etc/pki/pulp/<br>
$ rm rsa.key rsa_pub.key<br>
$ umask 077<br>
$ openssl genrsa -out rsa.key <bits>  # <bits> should be at least 2048<br>
$ openssl rsa -in rsa.key -pubout > rsa_pub.key<br>
$ chgrp apache rsa.key rsa_pub.key<br>
$ chmod 640 rsa.key  # Apache must be able to read the private key<br>
$ chmod 644 rsa_pub.key  # The public key is world-readable as it is served via Apache<br>
<br>
The Pulp consumer key is similar:<br>
<br>
$ cd /etc/pki/pulp/consumer/<br>
$ rm rsa.key rsa_pub.key<br>
$ umask 077<br>
$ openssl genrsa -out rsa.key <bits>  # <bits> should be at least 2048<br>
$ openssl rsa -in rsa.key -pubout > rsa_pub.key<br>
<br>
CVE-2016-3112 (Part II)<br>
-----------------------<br>
<br>
Now that we have regenerated the server's CA certificate, we can finish<br>
re-registering each consumer to Pulp:<br>
<br>
$ sudo pulp-consumer -u <admin-username> register --consumer-id=<consumer-id><br>
<br>
Restart<br>
-------<br>
<br>
Pulp services are now ready to be restarted again to pick up the new<br>
certificates. For systemd users:<br>
<br>
$ sudo systemctl restart httpd pulp_workers pulp_resource_manager pulp_celerybeat goferd<br>
<br>
Troubleshooting<br>
---------------<br>
<br>
Regenerating the CA certificate will invalidate all client certificates that<br>
were issued by the old CA. All users will need to login to Pulp again to<br>
obtain a new client certificate. If you forget a step, you may see one of the<br>
following error messages:<br>
<br>
    "pulp.server.managers.auth.authentication:ERROR: Auth certificate with CN<br>
[admin:admin:57155b83e779896cb3d634a4] is signed by a foreign CA" (or<br>
similar) in the server log can indicate that httpd has not been restarted<br>
since the CA was replaced.<br>
    "The specified user does not have permission to execute the given<br>
command" from pulp-admin can mean that the user has not logged in since the<br>
new CA was present, or that httpd has not been restarted since the<br>
certificate was replaced. More generally, this error message can also mean<br>
that the user is not authorized to perform the given action.<br>
    "An error occurred attempting to contact the server. More information may<br>
be found using the -v flag." may be output by pulp-admin if you have<br>
restarted httpd but have not logged in again to get a new CA certificate. If<br>
you provide that -v flag and see "ConnectionException: (None, 'tlsv1 alert<br>
decrypt error', None)", this is likely the issue.<br>
<br>
<br>
<br>_______________________________________________<br>
Pulp-list mailing list<br>
<a href="mailto:Pulp-list@redhat.com">Pulp-list@redhat.com</a><br>
<a href="https://www.redhat.com/mailman/listinfo/pulp-list" rel="noreferrer" target="_blank">https://www.redhat.com/mailman/listinfo/pulp-list</a><br></blockquote></div><br></div></div>