Chapter 4.
Security issues of Linux-PAM
PAM, from the perspective of an application, is a convenient API for
authenticating users. PAM modules generally have no increased
privilege over that possessed by the application that is making use of
it. For this reason, the application must take ultimate responsibility
for protecting the environment in which PAM operates.
A poorly (or maliciously) written application can defeat any
Linux-PAM module's authentication
mechanisms by simply ignoring it's return values. It is the
applications task and responsibility to grant privileges and access
to services. The Linux-PAM library
simply assumes the responsibility of authenticating
the user; ascertaining that the user is who they
say they are. Care should be taken to anticipate all of the documented
behavior of the Linux-PAM library
functions. A failure to do this will most certainly lead to a future
security breach.