libpam-mysql undefined symbol: make_scrambled_password
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
pam-mysql (Fedora) |
Fix Released
|
Critical
|
|||
pam-mysql (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Xenial |
Fix Committed
|
Undecided
|
Nish Aravamudan | ||
Yakkety |
Fix Released
|
Undecided
|
Nish Aravamudan |
Bug Description
[Impact]
* libpam-mysql is unable to be used because of an upstream symbol change in libmysqlclient.
* Upstream libpam-mysql has fixed this by updating the source to use the now-exported API.
[Test Case]
Steps to reproduce (with vsftpd):
Installation requirements: mysqlserver 5.7.x, libpam-mysql, vsftpd
create vsftpd user:
useradd --home /home/vsftpd --gid nogroup -m --shell /bin/false vsftpd
create mysql database and user:
== // Start SQL
CREATE DATABASE vsftpd;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON vsftpd.* TO 'vsftpd'
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON vsftpd.* TO 'vsftpd'
FLUSH PRIVILEGES;
USE vsftpd;
CREATE TABLE `accounts` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`username` VARCHAR( 30 ) NOT NULL ,
`pass` VARCHAR( 50 ) NOT NULL ,
UNIQUE (
`username`
));
insert into accounts(
==// End SQL
Configure PAM:
insert into /etc/pam.d/vsftpd:
auth required pam_mysql.so verbose=1 user=vsftpd host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2 passwd=ftpdpass
account required pam_mysql.so verbose=1 user=vsftpd host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2 passwd=ftpdpass
Configure vsftpd (/etc/vsftpd.conf) :
listen=YES
anonymous_
local_
write_
local_umask=022
dirmessage_
xferlog_
connect_
nopriv_
chroot_
secure_
pam_
guest_
guest_
local_
user_
virtual_
restart vsftpd:
/etc/init.d/vsftpd restart
check /var/log/auth.log
[Regression Potential]
* There is currently no fix or workaround, as the library is basically broken as installed from Ubuntu.
* I believe the regression potential to be very low because the current code does not work.
---
In Ubuntu 16.04, the libpam-mysql package does not work. It crashes with the below error:
PAM unable to dlopen(
I fixed this issue by download the source for the package and applying the patches that come from this source RPM:
http://
I then created unofficial packages after applying the patch. They can be downloaded here:
http://
http://
libpam-mysql now works again on Ubuntu 16.04 x86 and x64.
Here is the initial RedHat bug report:
information type: | Public → Public Security |
information type: | Public Security → Public |
description: | updated |
description: | updated |
summary: |
- libpam-mysql undefined symbol: make_scrambled_password - Needs Patches - Applied by RedHat / Fedora Community to Fix Ubuntu 16.04 + libpam-mysql undefined symbol: make_scrambled_password |
description: | updated |
Changed in pam-mysql (Fedora): | |
importance: | Unknown → Critical |
status: | Unknown → Fix Released |
Changed in pam-mysql (Ubuntu Yakkety): | |
status: | Fix Committed → Fix Released |
Description of problem:
Hi, i have a Fedora 15 x64 with postfix, courier-imap, mysql, and i have a problem with module pam_mysql. Every time i try authenticate for smtp i recive this error from /var/log/secure: /lib64/ security/ pam_mysql. so): /lib64/ security/ pam_mysql. so: undefined symbol: make_scrambled_ password
PAM unable to dlopen(