ubuntu-sso-client doesn't validate ssl certificates
| Affects | Status | Importance | Assigned to | Milestone | ||
|---|---|---|---|---|---|---|
| Ubuntu One Client |
Undecided
|
Unassigned | ||||
| Ubuntu Single Sign On Client | Status tracked in Trunk | |||||
| Stable-1-2 |
High
|
Alejandro J. Cura | ||||
| Stable-1-4 |
High
|
Alejandro J. Cura | ||||
| Stable-3-0 |
Undecided
|
Unassigned | ||||
| Stable-4-0 |
Undecided
|
Unassigned | ||||
| Trunk |
Undecided
|
Unassigned | ||||
| ubuntu-sso-client (Ubuntu) |
Medium
|
Unassigned | ||||
| Maverick |
Medium
|
Marc Deslauriers | ||||
| Natty |
Medium
|
Marc Deslauriers | ||||
| Oneiric |
Medium
|
Marc Deslauriers | ||||
| Precise |
Medium
|
Unassigned | ||||
Bug Description
ubuntu-sso-client uses urllib2 to perform certain operations on https web sites. urllib2 does not do any certificate validation, and should only be used if certificate validation is being done by the application itself.
This results in a trivial man in the middle attack that can obtain or alter sensitive information.
Related branches
- Alejandro J. Cura (community): Approve on 2012-06-13
- Roberto Alsina (community): Approve on 2012-06-13
-
Diff: 65 lines (+25/-0)2 files modifiedubuntu_sso/gtk/gui.py (+18/-0)
ubuntu_sso/gtk/tests/test_gui.py (+7/-0)
- Manuel de la Peña (community): Approve on 2012-06-18
- Roberto Alsina (community): Approve on 2012-06-15
-
Diff: 571 lines (+458/-12)5 files modifiedubuntu_sso/account.py (+2/-3)
ubuntu_sso/credentials.py (+4/-4)
ubuntu_sso/tests/test_credentials.py (+5/-5)
ubuntu_sso/utils/curllib.py (+147/-0)
ubuntu_sso/utils/tests/test_curllib.py (+300/-0)
- dobey (community): Approve on 2012-06-22
- Manuel de la Peña (community): Approve on 2012-06-18
-
Diff: 571 lines (+458/-12)5 files modifiedubuntu_sso/account.py (+2/-3)
ubuntu_sso/credentials.py (+4/-4)
ubuntu_sso/tests/test_credentials.py (+5/-5)
ubuntu_sso/utils/curllib.py (+147/-0)
ubuntu_sso/utils/tests/test_curllib.py (+300/-0)
CVE References
| Marc Deslauriers (mdeslaur) wrote : | #1 |
| Marc Deslauriers (mdeslaur) wrote : | #2 |
This bug is embargoed and _must_ remain private until the security team sets a unembargo date. Please do not comment publically, or check code into public software repositories until then.
| Marc Deslauriers (mdeslaur) wrote : | #3 |
Here is an example script that shows how to do certificate validation with urllib2.
| Marc Deslauriers (mdeslaur) wrote : | #4 |
Here is a webkit example for oneiric+
| Marc Deslauriers (mdeslaur) wrote : | #5 |
Here is a webkit example for natty and older
| Changed in ubuntuone-client: | |
| status: | New → Invalid |
| Natalia Bidart (nataliabidart) wrote : | #6 |
| Changed in ubuntu-sso-client (Ubuntu): | |
| status: | New → Confirmed |
| Alejandro J. Cura (alecu) wrote : | #7 |
This is a patch for lp:ubuntu-sso-client/stable-1-4 that adds a module with the same api that urllib2, but using pycurl and validating the SSL certificates.
| Alejandro J. Cura (alecu) wrote : | #8 |
This is a patch for lp:ubuntu-sso-client/stable-1-2
| Alejandro J. Cura (alecu) wrote : | #9 |
This is a patch for lp:ubuntu-sso-client/stable-1-0
| Marc Deslauriers (mdeslaur) wrote : | #10 |
Thanks for the patches, I'll work on security updates for this. Do not commit publically until the security updates have been published. Thanks!
| Changed in ubuntu-sso-client (Ubuntu Maverick): | |
| status: | New → Confirmed |
| Changed in ubuntu-sso-client (Ubuntu Natty): | |
| status: | New → Confirmed |
| Changed in ubuntu-sso-client (Ubuntu Oneiric): | |
| status: | New → Confirmed |
| Changed in ubuntu-sso-client (Ubuntu Maverick): | |
| importance: | Undecided → Medium |
| Changed in ubuntu-sso-client (Ubuntu Natty): | |
| importance: | Undecided → Medium |
| Changed in ubuntu-sso-client (Ubuntu Oneiric): | |
| importance: | Undecided → Medium |
| Changed in ubuntu-sso-client (Ubuntu Precise): | |
| importance: | Undecided → Medium |
| Changed in ubuntu-sso-client (Ubuntu Maverick): | |
| assignee: | nobody → Marc Deslauriers (mdeslaur) |
| Changed in ubuntu-sso-client (Ubuntu Natty): | |
| assignee: | nobody → Marc Deslauriers (mdeslaur) |
| Changed in ubuntu-sso-client (Ubuntu Oneiric): | |
| assignee: | nobody → Marc Deslauriers (mdeslaur) |
| Marc Deslauriers (mdeslaur) wrote : | #11 |
This is CVE-2011-4408
| Jamie Strandboge (jdstrand) wrote : | #12 |
Thank you for reporting this bug to Ubuntu. maverick has reached EOL
(End of Life) and is no longer supported. As a result, this bug
against maverick is being marked "Won't Fix". Please see
https:/
releases.
Please feel free to report any other bugs you may find.
| Changed in ubuntu-sso-client (Ubuntu Maverick): | |
| status: | Confirmed → Won't Fix |
| Changed in ubuntu-sso-client (Ubuntu Precise): | |
| status: | Confirmed → Invalid |
| status: | Invalid → Fix Released |
| Launchpad Janitor (janitor) wrote : | #13 |
This bug was fixed in the package ubuntu-sso-client - 1.4.1-0ubuntu1.1
---------------
ubuntu-sso-client (1.4.1-0ubuntu1.1) oneiric-security; urgency=low
* SECURITY UPDATE: MITM via incorrect ssl cert validation (LP: #882055)
- debian/
ubuntu_
ubuntu_
ubuntu_
ubuntu_
ubuntu_
- debian/control: add python-pycurl dependency.
- CVE-2011-4408
-- Marc Deslauriers <email address hidden> Fri, 25 May 2012 10:32:37 -0400
| Launchpad Janitor (janitor) wrote : | #14 |
This bug was fixed in the package ubuntu-sso-client - 1.2.1-0ubuntu2.1
---------------
ubuntu-sso-client (1.2.1-0ubuntu2.1) natty-security; urgency=low
* SECURITY UPDATE: MITM via incorrect ssl cert validation (LP: #882055)
- debian/
ubuntu_
ubuntu_
ubuntu_
ubuntu_
ubuntu_
- debian/control: add python-pycurl dependency.
- CVE-2011-4408
-- Marc Deslauriers <email address hidden> Tue, 31 Jan 2012 14:01:31 -0500
| Changed in ubuntu-sso-client (Ubuntu Natty): | |
| status: | Confirmed → Fix Released |
| Changed in ubuntu-sso-client (Ubuntu Oneiric): | |
| status: | Confirmed → Fix Released |
| visibility: | private → public |
| tags: | added: patch |
| Launchpad Janitor (janitor) wrote : | #15 |
This bug was fixed in the package ubuntu-sso-client - 3.99.0-0ubuntu1
---------------
ubuntu-sso-client (3.99.0-0ubuntu1) quantal; urgency=low
* New upstream release.
- Remove some code duplication in web client. (LP: #904842)
- Handle starting with the -testsability argument. (LP: #984964)
- Log more details for SSL validation failure. (LP: #987405)
- Use the new dev-tools API in tests. (LP: #988809)
- Use the network detection page before signup/login. (LP: #996025)
- Fix size of password assistance label in reset dialog. (LP: #999885)
- ubuntu-sso-login-qt crashed with TypeError in got_state. (LP: #1003692)
* debian/control:
- Update dependencies to allow running unit tests during build.
* debian/patches:
- Remove upstreamed patches.
* debian/
- Trap DBusException when connecting to session bus. (LP: #711413)
* debian/
- Tell libsoup to use strict ssl with system ca certs. (LP: #882055)
* debian/rules:
- Enable unit tests during build.
* debian/watch:
- Update to use stable-4-0 series for Quantal.
-- Rodney Dawes <email address hidden> Fri, 15 Jun 2012 16:52:27 -0400
| Changed in ubuntu-sso-client (Ubuntu): | |
| status: | Confirmed → Fix Released |
Hello Marc, or anyone else affected,
Accepted ubuntu-sso-client into precise-proposed. The package will build now and be available at http://
Please help us by testing this new package. See https:/
If this package fixes the bug for you, please change the bug tag from verification-needed to verification-done. If it does not, change the tag to verification-
Further information regarding the verification process can be found at https:/
| tags: | added: verification-needed |
| tags: |
added: verification-done removed: verification-needed |


in the ubuntu_ sso/gtk/ gui.py file, it also uses webkit without setting the "ssl-strict" and "ssl-ca-file" properties, so it's not doing certificate checking in the webkit parts either.