ltb-project / openldap-deb

Debian packages for OpenLDAP
http://ltb-project.org/wiki/documentation/openldap-deb
GNU General Public License v3.0
14 stars 13 forks source link

files ownership of sbin and share directories #88

Closed mjourdan closed 2 years ago

mjourdan commented 2 years ago

Hello,

I noticed the ldap user was given full ownership of /usr/local/openldap/sbin and slapd-cli, which could result in privilege escalation.

Additional info

The openldap-ltb package comes with all files under sbin belonging to root:

root@test-oldap-05:/tmp/openldap-ltb-control# apt reinstall openldap-ltb
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Lecture des informations d'état... Fait
0 mis à jour, 0 nouvellement installés, 1 réinstallés, 0 à enlever et 1 non mis à jour.
Il est nécessaire de prendre 0 o/1 692 ko dans les archives.                                                                                                                                                     Après cette opération, 0 o d'espace disque supplémentaires seront utilisés.                                                                                                                                      (Lecture de la base de données... 52661 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../openldap-ltb_2.5.11.1_amd64.deb ...
Removed /etc/systemd/system/multi-user.target.wants/slapd-ltb.service.
Dépaquetage de openldap-ltb (2.5.11.1) sur (2.5.11.1) ...
Paramétrage de openldap-ltb (2.5.11.1) ...
Created symlink /etc/systemd/system/multi-user.target.wants/slapd-ltb.service → /lib/systemd/system/slapd-ltb.service.
Traitement des actions différées (« triggers ») pour libc-bin (2.31-13+deb11u3) ...

root@test-oldap-05:/tmp/openldap-ltb-control# ls -l /usr/local/openldap/sbin/                                                                                                                                    total 232                                                                                                                                                                                                        -rwxr-xr-x 1 root root 84704 26 janv. 12:00 mdb_copy
-rwxr-xr-x 1 root root 92912 26 janv. 12:00 mdb_stat
lrwxrwxrwx 1 root root    16 26 janv. 12:00 slapacl -> ../libexec/slapd                                                                                                                                          lrwxrwxrwx 1 root root    16 26 janv. 12:00 slapadd -> ../libexec/slapd                                                                                                                                          lrwxrwxrwx 1 root root    16 26 janv. 12:00 slapauth -> ../libexec/slapd                                                                                                                                         lrwxrwxrwx 1 root root    16 26 janv. 12:00 slapcat -> ../libexec/slapd                                                                                                                                          -rwxr-xr-x 1 root root 54370 26 janv. 12:00 slapd-cli
lrwxrwxrwx 1 root root    16 26 janv. 12:00 slapdn -> ../libexec/slapd
lrwxrwxrwx 1 root root    16 26 janv. 12:00 slapindex -> ../libexec/slapd
lrwxrwxrwx 1 root root    16 26 janv. 12:00 slapmodify -> ../libexec/slapd
lrwxrwxrwx 1 root root    16 26 janv. 12:00 slappasswd -> ../libexec/slapd
lrwxrwxrwx 1 root root    16 26 janv. 12:00 slapschema -> ../libexec/slapd                                                                                                                                       lrwxrwxrwx 1 root root    16 26 janv. 12:00 slaptest -> ../libexec/slapd

Installing openldap-ltb-mdb-utils changes ownership to ldap:ldap:

root@test-oldap-05:/tmp# apt reinstall openldap-ltb-mdb-utils
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Lecture des informations d'état... Fait
0 mis à jour, 0 nouvellement installés, 1 réinstallés, 0 à enlever et 1 non mis à jour.
Il est nécessaire de prendre 0 o/52,2 ko dans les archives.
Après cette opération, 0 o d'espace disque supplémentaires seront utilisés.
(Lecture de la base de données... 52718 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../openldap-ltb-mdb-utils_2.5.11.1_amd64.deb ...
Dépaquetage de openldap-ltb-mdb-utils (2.5.11.1) sur (2.5.11.1) ...
Paramétrage de openldap-ltb-mdb-utils (2.5.11.1) ...

root@test-oldap-05:/tmp# ls -l /usr/local/openldap/sbin/
total 232
-rwxr-xr-x 1 ldap ldap 84704 26 janv. 12:00 mdb_copy
-rwxr-xr-x 1 ldap ldap 92912 26 janv. 12:00 mdb_stat
lrwxrwxrwx 1 ldap ldap    16 26 janv. 12:00 slapacl -> ../libexec/slapd
lrwxrwxrwx 1 ldap ldap    16 26 janv. 12:00 slapadd -> ../libexec/slapd
lrwxrwxrwx 1 ldap ldap    16 26 janv. 12:00 slapauth -> ../libexec/slapd
lrwxrwxrwx 1 ldap ldap    16 26 janv. 12:00 slapcat -> ../libexec/slapd
-rwxr-xr-x 1 ldap ldap 54370 26 janv. 12:00 slapd-cli
lrwxrwxrwx 1 ldap ldap    16 26 janv. 12:00 slapdn -> ../libexec/slapd
lrwxrwxrwx 1 ldap ldap    16 26 janv. 12:00 slapindex -> ../libexec/slapd
lrwxrwxrwx 1 ldap ldap    16 26 janv. 12:00 slapmodify -> ../libexec/slapd
lrwxrwxrwx 1 ldap ldap    16 26 janv. 12:00 slappasswd -> ../libexec/slapd
lrwxrwxrwx 1 ldap ldap    16 26 janv. 12:00 slapschema -> ../libexec/slapd
lrwxrwxrwx 1 ldap ldap    16 26 janv. 12:00 slaptest -> ../libexec/slapd

I suppose the line responsible for this in openldab-ltb-mdb-utils.postinst could be removed, and existing installation could be fixed by triggering openldap-ltb's postinstall script.

Regards,

davidcoutadeur commented 2 years ago

Thanks for the report.

IMO, the appropriate rights should be:

I am going to check this issue.

davidcoutadeur commented 2 years ago

internal todo: check if there is the same problem in the rpm packages

davidcoutadeur commented 2 years ago

in rpm packages, permissions are: root:root I am doing the fix in debian packages for alignment with rpm ones.

davidcoutadeur commented 2 years ago

Fixed and tested in 6b0c813 (2.5) and 6c15e31 (2.6) Ready for 2.5.12 and 2.6.2 releases

mjourdan commented 2 years ago

Thank you!