gdm-smartcard pam config needs to be updated for Ubuntu and installed
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
GNOME Settings Daemon |
Fix Released
|
Unknown
|
|||
gdm3 (Debian) |
Fix Released
|
Unknown
|
|||
gdm3 (Ubuntu) |
Fix Released
|
High
|
Marco Trevisan (Treviño) | ||
Focal |
In Progress
|
High
|
Marco Trevisan (Treviño) | ||
gnome-settings-daemon (Ubuntu) |
Fix Released
|
Medium
|
Marco Trevisan (Treviño) | ||
Focal |
Incomplete
|
Medium
|
Marco Trevisan (Treviño) | ||
sssd (Ubuntu) |
Fix Released
|
Undecided
|
Marco Trevisan (Treviño) | ||
Focal |
In Progress
|
Undecided
|
Marco Trevisan (Treviño) |
Bug Description
[ Impact ]
the pam profile for gdm-smartcard is missing. gdm refuses to login with a smartcard. Looking at ubuntu/
[ Test case ]
1. When in GDM, insert a smartcard
2. The GDM interface should require for an user
3. The user should be set (or empty may be provided,
depending on sssd configuration)
4. The smartcard PIN should be requested and once introduce the
user must login.
Note that this requires configuring sssd before, a simple local configuration could require having sssd.conf filled with:
```ini
[sssd]
enable_files_domain = True
services = pam
[certmap/
matchrule = <SUBJECT>.*YOUR CARD IDENTIFIER*
[pam]
pam_cert_auth = True
```
The UI authentication can also be simulated via pamtester:
# Must be ran as user
sudo apt install pamtester
pamtester -v gdm-smartcard $USER authenticate
Expected output is
+ pamtester -v gdm-smartcard ubuntu authenticate
pamtester: invoking pam_start(
pamtester: performing operation - authenticate
PIN for Test Organization Sub Int Token:
pamtester: successfully authenticated
---
Alternatively, if no smartcard or hardware is available, this can be tested and simulated using these scripts (they will reset the system setup at each run, but it's suggested to run them in a VM, lxd container or in a test installation):
https:/
- sudo apt install gdm3 pamtester softhsm2 openssl wget sssd gnutls-bin && \
sudo apt-mark auto gdm3 pamtester softhsm2 openssl wget sssd gnutls-bin
- wget https:/
- wget https:/
- sudo bash ./sssd-
The script will generate some fake CA authority, issue some certificates, will install them in some software-based smartcards (using softhsm2) and test that they work properly to login with gdm-smartcard.
Using `WAIT` environment variable set (to any value) will make it to restart gdm at each iteration so that an user can try to access, using the username that launched the script and the pin of 123456.
[ Regression potential ]
Smartcard authentication using custom methods using via a custom configured system nss database may not work anymore.
---
ProblemType: BugDistroRelease: Ubuntu 18.04
Package: gdm3 3.28.3-
ProcVersionSign
Uname: Linux 5.3.0-24-generic x86_64
NonfreeKernelMo
ApportVersion: 2.20.9-0ubuntu7.11
Architecture: amd64
CurrentDesktop: ubuntu:GNOME
Date: Fri Feb 28 14:30:30 2020
InstallationDate: Installed on 2016-05-23 (1376 days ago)
InstallationMedia: Ubuntu 16.04 LTS "Xenial Xerus" - Release amd64 (20160420.
UpgradeStatus: No upgrade log present (probably fresh install)
mtime.conffile.
Related branches
- Sergio Durigan Junior (community): Approve
-
Diff: 3411 lines (+3266/-3)18 files modifieddebian/changelog (+25/-0)
debian/patches/add-tests-multiple-certs-same-id.patch (+267/-0)
debian/patches/authtok-add-label-to-Smartcard-token.patch (+1086/-0)
debian/patches/p11_child-Add-support-for-partial_chain-certificate_verif.patch (+410/-0)
debian/patches/p11_child-Restore-functionality-of-wait_for_card.patch (+89/-0)
debian/patches/p11_child-do_card-partially-fix-loop-exit-condition-when-.patch (+36/-0)
debian/patches/p11_child_openssl-Free-X509_VERIFY_PARAM-if-initialized.patch (+28/-0)
debian/patches/pam-Add-custom-pam_cert_verification-setting-to-override-.patch (+222/-0)
debian/patches/pam_sss-add-SERVICE_IS_GDM_SMARTCARD.patch (+37/-0)
debian/patches/pam_sss-add-certificate-label-to-reply-to-pam_sss.patch (+209/-0)
debian/patches/pam_sss-fix-missing-initializer-warning.patch (+33/-0)
debian/patches/pam_sss-fix-missing-initializer.patch (+42/-0)
debian/patches/pam_sss-make-sure-old-certificate-data-is-removed-before-.patch (+35/-0)
debian/patches/pam_sss-special-handling-for-gdm-smartcard.patch (+80/-0)
debian/patches/pam_sss-use-unique-id-for-gdm-choice-list.patch (+68/-0)
debian/patches/series (+15/-0)
debian/patches/test_pam_srv-Add-test-for-CA-certificate-check-using-inte.patch (+530/-0)
debian/sssd-common.postinst (+54/-3)
- Iain Lane: Pending requested
-
Diff: 58 lines (+12/-4)3 files modifieddesktop (+1/-1)
desktop-minimal (+10/-2)
desktop.minimal-remove (+1/-1)
CVE References
Changed in gdm: | |
status: | Unknown → New |
tags: | added: rls-gg-incoming |
Changed in pam (Ubuntu): | |
status: | New → Invalid |
Changed in gdm3 (Ubuntu): | |
assignee: | nobody → Marco Trevisan (Treviño) (3v1n0) |
tags: | removed: rls-gg-incoming |
Changed in gdm3 (Ubuntu Groovy): | |
importance: | Low → Medium |
Changed in gdm3 (Ubuntu Groovy): | |
importance: | Medium → High |
Changed in gdm3 (Ubuntu Focal): | |
status: | New → Confirmed |
importance: | Undecided → High |
Changed in gdm3 (Ubuntu Bionic): | |
importance: | Undecided → High |
Changed in pam (Ubuntu Bionic): | |
status: | New → Invalid |
Changed in pam (Ubuntu Focal): | |
status: | New → Invalid |
Changed in gdm3 (Ubuntu Focal): | |
assignee: | nobody → Marco Trevisan (Treviño) (3v1n0) |
Changed in gdm3 (Ubuntu Bionic): | |
assignee: | nobody → Marco Trevisan (Treviño) (3v1n0) |
Changed in gnome-settings-daemon (Ubuntu Focal): | |
assignee: | nobody → Marco Trevisan (Treviño) (3v1n0) |
Changed in gnome-settings-daemon (Ubuntu Groovy): | |
assignee: | nobody → Marco Trevisan (Treviño) (3v1n0) |
no longer affects: | pam (Ubuntu) |
no longer affects: | pam (Ubuntu Bionic) |
no longer affects: | pam (Ubuntu Focal) |
no longer affects: | pam (Ubuntu Groovy) |
affects: | gdm → ubuntu-translations |
Changed in ubuntu-translations: | |
importance: | Unknown → Undecided |
no longer affects: | ubuntu-translations |
Changed in gdm3 (Debian): | |
status: | Unknown → New |
Changed in gdm3 (Ubuntu Groovy): | |
status: | Confirmed → In Progress |
no longer affects: | gdm3 (Ubuntu Groovy) |
no longer affects: | gnome-settings-daemon (Ubuntu Groovy) |
Changed in gdm3 (Ubuntu): | |
status: | Confirmed → In Progress |
Changed in gnome-settings-daemon (Ubuntu): | |
status: | In Progress → Fix Committed |
Changed in gdm3 (Debian): | |
status: | New → Fix Released |
no longer affects: | gdm3 (Ubuntu Bionic) |
Changed in gnome-settings-daemon (Ubuntu Focal): | |
importance: | Undecided → Medium |
tags: | added: dt-194 |
Changed in gnome-settings-daemon: | |
status: | Unknown → New |
Changed in gdm3 (Ubuntu Focal): | |
status: | Confirmed → In Progress |
Changed in gnome-settings-daemon (Ubuntu Focal): | |
status: | New → In Progress |
Changed in gnome-settings-daemon: | |
status: | New → Fix Released |
description: | updated |
description: | updated |
description: | updated |
Thanks, confirmed, unsure why Debian does that instead of using the upstream ones, it would be useful to report to Debian