oath-toolkit-help
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

OATH Toolkit 2.6.12


From: Simon Josefsson
Subject: OATH Toolkit 2.6.12
Date: Fri, 04 Oct 2024 12:43:54 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)

This is to announce oath-toolkit-2.6.12, a stable release.

OATH Toolkit provide components to build one-time password
authentication systems.  It contains shared C libraries, command line
tools and a PAM module.  Supported technologies include the event-based
HOTP algorithm (RFC 4226), the time-based TOTP algorithm (RFC 6238), and
Portable Symmetric Key Container (PSKC, RFC 6030) to manage secret key
data.  OATH stands for Open AuTHentication, which is the organization
that specify the algorithms.

The following components are included:

 * liboath: A shared and static C library for OATH handling.
 * oathtool: A command line tool for generating and validating OTPs.
 * pam_oath: A PAM module for pluggable login authentication for OATH.
 * libpskc: A shared and static C library for PSKC handling.
 * pskctool: A command line tool for manipulating PSKC data.

The project's web page is available at:
  https://www.nongnu.org/oath-toolkit/

Documentation for the command line tools oathtool and pskctool:
  https://www.nongnu.org/oath-toolkit/oathtool.1.html
  https://www.nongnu.org/oath-toolkit/pskctool.1.html

Tutorial on PSKC:
  https://www.nongnu.org/oath-toolkit/libpskc-api/pskc-tutorial.html

Manual for PAM module:
  https://www.nongnu.org/oath-toolkit/pam_oath.html

Liboath Manual:
  https://www.nongnu.org/oath-toolkit/liboath-api/liboath-oath.h.html

Libpskc Manual
  https://www.nongnu.org/oath-toolkit/libpskc-api/pskc-reference.html

General information on contributing:
  https://www.nongnu.org/oath-toolkit/contrib.html

OATH Toolkit GitLab project page:
  https://gitlab.com/oath-toolkit/oath-toolkit

OATH Toolkit Savannah project page:
  https://savannah.nongnu.org/projects/oath-toolkit/

Code coverage charts:
  https://oath-toolkit.gitlab.io/oath-toolkit/coverage/

Clang code analysis:
  https://oath-toolkit.gitlab.io/oath-toolkit/clang-analyzer/

Coverity report:
  https://scan.coverity.com/projects/oath-toolkit

If you need help to use the OATH Toolkit, or want to help others, you
are invited to join our oath-toolkit-help mailing list, see:
  https://lists.nongnu.org/mailman/listinfo/oath-toolkit-help

Here are the compressed sources and a GPG detached signature:
  
https://download.savannah.nongnu.org/releases/oath-toolkit/oath-toolkit-2.6.12.tar.gz
  
https://download.savannah.nongnu.org/releases/oath-toolkit/oath-toolkit-2.6.12.tar.gz.sig

Here is a signed git-archive style minimal source code archive:
  
https://download.savannah.nongnu.org/releases/oath-toolkit/oath-toolkit-2.6.12-src.tar.gz
  
https://download.savannah.nongnu.org/releases/oath-toolkit/oath-toolkit-2.6.12-src.tar.gz.sig

Here are the SHA1 and SHA256 checksums:

0bfb6ad29d59628487c9e180c7a43f4ca301e4d1  oath-toolkit-2.6.12.tar.gz
cafdf739b1ec4b276441c6aedae6411434bbd870071f66154b909cc6e2d9e8ba  
oath-toolkit-2.6.12.tar.gz

0a652af2c638789f99a030097fc718e3cb09615b  oath-toolkit-2.6.12-src.tar.gz
7c6a3c9043941bc3f1b37bd50a6cb8d508c1e42bff631292f938e08a377a36ff  
oath-toolkit-2.6.12-src.tar.gz

Use a .sig file to verify that the corresponding file (without the
.sig suffix) is intact.  First, be sure to download both the .sig file
and the corresponding tarball.  Then, run a command like this:

  gpg --verify oath-toolkit-2.6.12.tar.gz.sig

The signature should match the fingerprint of the following key:

  pub   ed25519 2019-03-20 [SC]
        B1D2 BD13 75BE CB78 4CF4  F8C4 D73C F638 C53C 06BE
  uid   Simon Josefsson <simon@josefsson.org>

If that command fails because you don't have the required public key,
or that public key has expired, try the following commands to retrieve
or refresh it, and then rerun the 'gpg --verify' command.

  gpg --locate-external-key simon@josefsson.org

  gpg --recv-keys 51722B08FE4745A2

  wget -q -O- https://josefsson.org/key-20190320.txt | gpg --import

NEWS

* Version 2.6.12 (released 2024-10-03)

** pam_oath: Drop privs when ${HOME} is used in the usersfile= setting.
Reported by Fabian Vogt (SUSE), and associated with CVE-2024-47191.
See <https://gitlab.com/oath-toolkit/oath-toolkit/-/issues/43>.
Security bug triggered by new feature in pam_oath v2.6.7 released on
2021-05-01 with the USER/HOME placeholder strings, see
<https://gitlab.com/oath-toolkit/oath-toolkit/-/merge_requests/12>.

Quoting a writeup in an alternate patch by Matthias Gerstner (SUSE):
With the addition of the possibility to place a usersfile also into a
user's home directory via variable expansion of ${HOME} and ${USER} in
the `usersfile=` path specification, security issues sneaked in.  The
PAM process usually runs with root privileges.  The file operations in
an unprivileged user's home directory follow symlinks both when
reading and creating files, allowing for a potential local root
exploit, because of the `fchown()` performed on the newly created
usersfile.

We drop privileges to the user that is being logged into, assuming it
has the necessary permissions for the usersfile belonging in their
home directory.  This restricts the ability for non-root users to
affect files beyond their control via liboath.

** liboath: Don't follow symbolic links for usersfile updates.
Reported by Fabian Vogt (SUSE), and associated with CVE-2024-47191.
See <https://gitlab.com/oath-toolkit/oath-toolkit/-/issues/43>.
Security bug triggered by new feature in pam_oath v2.6.7 released on
2021-05-01 with the USER/HOME placeholder strings, see
<https://gitlab.com/oath-toolkit/oath-toolkit/-/merge_requests/12>.

The fix is to open files for writing in exclusive mode (i.e., fail if
the file exists including if it is a symbolic link).

We offer a brief self-test to reproduce the problem in
liboath/tests/tst_fopen-wx.c which you may use as follows:

cc -o tst_fopen-wx tst_fopen-wx.c $(pkg-config --libs --cflags liboath)
rm -f cve.oath cve.oath.new cve.sshd-config cve.oath.lock
printf 
'HOTP/E/8\tsilver\t4711\t3132333435363738393031323334353637383930313233343536373839303132\n'
 > cve.oath
echo my-magic-cookie > cve.sshd-config
ln -s cve.sshd-config cve.oath.new
./tst_fopen-wx cve.oath silver 670691 4711

If this is linked with a vulnerable liboath it will print:

FAIL: Liboath VULNERABLE to fopen(wx) bug.

If you link it to a fixed liboath it will print:

PASS: Your liboath is NOT VULNERABLE to fopen(wx) bug.

For convenience, the liboath/tests/tst_fopen-wx.sh script can be used
to setup and invoke tst_fopen-wx.

** We publish a minimal source-only tarball generated by 'git archive'.
This tarball only contains the files stored in version controlled
sources, and no auxilliary files.  The source-only tarball may be
reproduced on a Trisquel 11 platform using Git at (or near) version
2.46 from Guix.  If something results in the 'git archive' format
changing again, the tarball can only be reproduced using an earlier
system.  The git version in AlmaLinux 8, AlmaLinux 9, RockyLinux 8 and
RockyLinux 9 should all produce the same identical 'git archive'
tarball.  The git version used on Debian 11, PureOS 10, Trisquel 11
and Ubuntu 22.04 should all produce an identical tarball.  These two
'git archive' outputs are not the same, due to how Git works.

** oathtool: Fix test suite on 32-bit big-endian platforms.  Fixes: #44.
Patch by Helge Deller and thanks to Jan Zerebecki.  See
<https://lists.nongnu.org/archive/html/oath-toolkit-help/2024-04/msg00000.html>
and <https://gitlab.com/oath-toolkit/oath-toolkit/-/issues/44>.

** libpskc: Don't call deprecated xmlMemoryDump.

** libpskc: fix implicit declaration with musl.
See <https://gitlab.com/oath-toolkit/oath-toolkit/-/merge_requests/39>.

** libpskc: Fix linker warning when linked with mold.
Thanks to Jan Palus, see
<https://gitlab.com/oath-toolkit/oath-toolkit/-/merge_requests/30> and
<https://gitlab.com/oath-toolkit/oath-toolkit/-/merge_requests/36> for
regression testing.

** Various build fixes including updated gnulib files.
Fixes Windows tzset build errors, among other things.

Happy hacking,
Simon

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]