[Bug 1899103] [NEW] libpam-cap causes PAM applications to crash

Launchpad Bug Tracker 1899103 at bugs.launchpad.net
Wed Oct 5 17:42:32 UTC 2022


You have been subscribed to a public bug by Dan Bungert (dbungert):

Install ocserv and setup for PAM authentication. On second connection,
ocserv crashes due to a double free in PAM.

Repro steps:
1. Create Dockerfile that installs ocserv + libpam-cap
```
FROM ubuntu:20.04

RUN apt update && apt install -y ocserv libpam-cap && apt autoremove &&
apt clean

COPY server-cert.pem /etc/ssl/ocserv_test.cert
COPY server-key.pem /etc/ssl/ocserv_test.key
COPY ca-cert.pem /etc/ssl/certs/ssl-cert-snakeoil.pem
COPY ocserv.conf /etc/ocserv/ocserv.conf

RUN useradd test
RUN echo "test\ntest" | passwd test

ENV MALLOC_CHECK_=3
CMD ocserv -f -d 1
```

2. Build container:
```
sudo docker build -t ocserv:20.04 .
```

3. Launch container:
```
docker run -p 443:443/tcp -p 443:443/udp -it --rm --device /dev/net/tun --cap-add net_admin ocserv:20.04
```

4. From another console, connect / disconnect:
```
while true; do echo test | openconnect https://localhost -u test --passwd-on-stdin --servercert pin-sha256:qBLVTyoXiFdn+0pW+eSGqnVCEnMbLigVf5vAl1ZewW4= --background && sleep 2 && pkill openconnect && sleep 2;done
```

5. ocserv crashes:
free(): invalid pointer
ocserv[8]: main: main-sec-mod-cmd.c:106: command socket for sec-mod closed
ocserv[8]: main: main.c:1179: error in command from sec-mod
ocserv[8]: main: termination request received; waiting for children to die

For more details see:
https://gitlab.com/openconnect/ocserv/-/issues/361

** Affects: libcap2 (Ubuntu)
     Importance: Medium
         Status: Confirmed

-- 
libpam-cap causes PAM applications to crash
https://bugs.launchpad.net/bugs/1899103
You received this bug notification because you are a member of Ubuntu Foundations Bugs, which is subscribed to the bug report.



More information about the foundations-bugs mailing list