Bug 1131673 - .repo files: certificate pinning for mirrors.fedoraproject.org via sslcacert yum option
Summary: .repo files: certificate pinning for mirrors.fedoraproject.org via sslcacert ...
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: fedora-repos
Version: 20
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Dennis Gilmore
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-08-19 19:31 UTC by Joonas
Modified: 2015-06-29 22:09 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-06-29 22:09:03 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Joonas 2014-08-19 19:31:08 UTC
Description of problem:
yum connects to https://mirrors.fedoraproject.org to fetch the metalink file and trusts all certificate authorities installed on the system by default when verifying the certificate of that server - no certificate pinning in place.
Fedora relies on the https connection to deliver the metalink file to the client without being prone to MITM attacks.

The past has shown that the CA ecosystem has severe security issues. Therefore it is recommended to reduce the number of trusted CAs for a given use-case whenever feasible.

Yum provides an easy way to specify the specific CA that should be trusted when performing certificate verification.
From yum.conf's man page:
sslcacert Path to the directory containing the databases of the certificate authorities yum should use to verify SSL certificates. Defaults to none - uses system default

Fedora does not make use of this option in its repo files:
/etc/yum.repos.d/fedora.repo
/etc/yum.repos.d/fedora-updates.repo
/etc/yum.repos.d/fedora-updates-testing.repo

doing so is rather easy: 
sslcacert=/path/to/issuing/ca.pem

You could even ship your own CA - completely removing the third-party CA provider since you control the client and the server, but since not only fedora clients are connecting to this server it is probably better to not completely break other clients.. 

To not break all clients when certificates are replaced, this new configuration requires some coordination every time the certificate of mirrors.fedoraproject.org is renewed. 
"Will the issuing CA change for the next cert?" 

Apart from that I believe the effort to implement CA pinning for yum is rather low and it significantly reduces the likelihood of a successful SSL MITM attack with a certificate issued by a compromised CA.

Additional info:
https://lists.fedoraproject.org/pipermail/users/2014-August/452703.html

Comment 1 Rahul Sundaram 2014-08-20 19:58:52 UTC
I would recommend filing this against dnf as well since dnf is replacing yum in an upcoming release according to the current proposed plan

Comment 2 Fedora End Of Life 2015-05-29 12:40:44 UTC
This message is a reminder that Fedora 20 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 20. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '20'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 20 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 3 Fedora End Of Life 2015-06-29 22:09:03 UTC
Fedora 20 changed to end-of-life (EOL) status on 2015-06-23. Fedora 20 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.