[Bug 1892825] Re: update-locale not perform correctly sanity checks
Michael Hudson-Doyle
1892825 at bugs.launchpad.net
Tue Apr 26 01:01:08 UTC 2022
Verified:
root at focal-vm:~# dpkg -l locales | grep ^ii
ii locales 2.31-0ubuntu9.7 all GNU C Library: National Language (locale) data [support]
root at focal-vm:~# cp /etc/default/locale /tmp/locale
root at focal-vm:~# update-locale --locale-file /tmp/locale LANGUAGE = en_US.UTF-8
root at focal-vm:~# diff -u /etc/default/locale /tmp/locale
--- /etc/default/locale 2022-04-19 18:07:15.583098433 +0000
+++ /tmp/locale 2022-04-26 00:56:47.140767044 +0000
@@ -1 +1,2 @@
LANG=en_US.UTF-8
+=
root at focal-vm:~# apt install -y -t focal-proposed libc6 locales libc-bin
[snip]
root at focal-vm:~# dpkg -l locales | grep ^ii
ii locales 2.31-0ubuntu9.9 all GNU C Library: National Language (locale) data [support]
root at focal-vm:~# cp /etc/default/locale /tmp/locale
root at focal-vm:~# update-locale --locale-file /tmp/locale LANGUAGE = en_US.UTF-8
root at focal-vm:~# diff -u /etc/default/locale /tmp/locale
root at focal-vm:~# update-locale --locale-file /tmp/locale LANGUAGE=en_US.UTF-8
root at focal-vm:~# diff -u /etc/default/locale /tmp/locale
--- /etc/default/locale 2022-04-26 00:58:34.429027581 +0000
+++ /tmp/locale 2022-04-26 00:58:39.333040731 +0000
@@ -1 +1,2 @@
LANG=en_US.UTF-8
+LANGUAGE=en_US.UTF-8
root at focal-vm:~# update-locale --locale-file /tmp/locale LANGUAGE=en_GB.UTF-8
root at focal-vm:~# diff -u /etc/default/locale /tmp/locale
--- /etc/default/locale 2022-04-26 00:58:34.429027581 +0000
+++ /tmp/locale 2022-04-26 00:58:58.457092930 +0000
@@ -1 +1,2 @@
LANG=en_US.UTF-8
+LANGUAGE=en_GB.UTF-8
root at focal-vm:~# update-locale --locale-file /tmp/locale LANGUAGE
root at focal-vm:~# diff -u /etc/default/locale /tmp/locale
--- /etc/default/locale 2022-04-26 00:58:34.429027581 +0000
+++ /tmp/locale 2022-04-26 00:59:11.493129343 +0000
@@ -1 +1,2 @@
LANG=en_US.UTF-8
+#LANGUAGE=en_GB.UTF-8
** Tags removed: verification-needed verification-needed-focal
** Tags added: verification-done-focal
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to glibc in Ubuntu.
https://bugs.launchpad.net/bugs/1892825
Title:
update-locale not perform correctly sanity checks
Status in glibc package in Ubuntu:
In Progress
Status in pam package in Ubuntu:
New
Status in glibc source package in Bionic:
New
Status in pam source package in Bionic:
New
Status in glibc source package in Focal:
Fix Committed
Status in pam source package in Focal:
New
Status in glibc source package in Hirsute:
Won't Fix
Status in pam source package in Hirsute:
New
Status in glibc source package in Impish:
New
Status in pam source package in Impish:
New
Bug description:
[impact]
A simple typo using the update-locale script can render a system inoperable without booting into single user mode or similar:
$ sudo update-locale LANGUAGE = en_US.UTF-8
$ sudo -s
sudo: pam_open_session: Bad item passed to pam_*_item()
sudo: policy plugin failed session initialization
[test case]
$ cp /etc/default/locale /tmp/locale
$ update-locale --locale-file /tmp/locale LANGUAGE = en_US.UTF-8
"diff -u /etc/default/locale /tmp/locale" should be empty.
$ update-locale --locale-file /tmp/locale LANGUAGE=en_US.UTF-8
The LANGUAGE=en_US.UTF-8 line should have been replaced by
LANGUAGE=en_GB.UTF-8.
$ update-locale --locale-file /tmp/locale LANGUAGE
The LANGUAGE setting is now commented out.
[regression potential]
Apart from the general concerns about a glibc rebuild, this is a simple change to a simple script. Performing the test as in the test case section is enough to ensure it still works.
[original description]
By passing wrong input as following:
sudo update-locale LANGUAGE = en_US.UTF-8
result is:
...
#LANGUAGE=en
=
This "equal" sign that was added makes system completely
unusable(can't run sudo anymore):
bentzy at bentzy-nb:~$ sudo vim /etc/default/locale
sudo: pam_open_session: Bad item passed to pam_*_item()
sudo: policy plugin failed session initialization
Fixed it booting from installation disk and fixing corrupted
/etc/default/locale
ProblemType: Bug
DistroRelease: Ubuntu 20.04
Package: locales 2.31-0ubuntu9
Uname: Linux 5.5.4-050504-generic x86_64
ApportVersion: 2.20.11-0ubuntu27.6
Architecture: amd64
CasperMD5CheckResult: skip
CurrentDesktop: KDE
Date: Tue Aug 25 09:36:03 2020
InstallationDate: Installed on 2020-08-17 (7 days ago)
InstallationMedia: Kubuntu 20.04 LTS "Focal Fossa" - Release amd64 (20200423)
PackageArchitecture: all
SourcePackage: glibc
UpgradeStatus: No upgrade log present (probably fresh install)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1892825/+subscriptions
More information about the foundations-bugs
mailing list