7.0 HIGH
- CVSS version (CVSS): 4.0
- Attack Vector (AV): Network (N)
- Attack Complexity (AC): Low (L)
- Attack Requirement (AT): Present (P)
- Privileges Required (PR): None (N)
- User Interaction (UI): None (N)
- Vulnerable System Impact Confidentiality (VC): Low (L)
- Vulnerable System Impact Integrity (VI): Low (L)
- Vulnerable System Impact Availability (VA): None (N)
- Subsequent System Impact Confidentiality (SC): High (H)
- Subsequent System Impact Integrity (SI): High (H)
- Subsequent System Impact Availability (SA): None (N)
- Modified Attack Vector (MAV): Network (N)
- Modified Attack Complexity (MAC): Low (L)
- Modified Attack Requirement (MAT): Present (P)
- Modified Privileges Required (MPR): None (N)
- Modified User Interaction (MUI): None (N)
- Modified Vulnerable System Impact Confidentiality (MVC): Low (L)
- Modified Vulnerable System Impact Integrity (MVI): Low (L)
- Modified Vulnerable System Impact Availability (MVA): None (N)
- Modified Subsequent System Impact Confidentiality (MSC): High (H)
- Modified Subsequent System Impact Integrity (MSI): High (H)
- Modified Subsequent System Impact Availability (MSA): Negligible (N)
- Safety (S): Not Defined (X)
- Automatable (AU): Not Defined (X)
- Recovery (R): Not Defined (X)
- Value Density (V): Not Defined (X)
- Vulnerability Response Effort (RE): Not Defined (X)
- Provider Urgency (U): Not Defined (X)
- Confidentiality Req. (CR): Not Defined (X)
- Integrity Req. (IR): Not Defined (X)
- Availability Req. (AR): Not Defined (X)
- Exploit Maturity (E): Not Defined (X)
Activity log
- Created suggestion
Non-CA certificate accepted as intermediate issuer in public_key path validation
Improper Following of a Certificate's Chain of Trust vulnerability in Erlang OTP public_key (pubkey_cert module) allows a non-CA certificate to be accepted as an intermediate issuer, enabling certificate chain forgery. In lib/public_key/src/pubkey_cert.erl, pubkey_cert:validate_extensions/7 contains two flaws that together allow a certificate with basicConstraints cA:false and no keyUsage extension to be used as an intermediate issuer in a chain passed to public_key:pkix_path_validation/3: the cA:false clause recurses into the remaining extensions without rejecting the certificate when it is in issuer position, and the keyUsage check only fires when the extension is present, so a certificate lacking keyUsage entirely bypasses the keyCertSign enforcement. Any party holding an end-entity certificate with basicConstraints cA:false and no keyUsage extension, issued by any CA in the victim's trust store, can use that certificate's private key to sign forged leaf certificates for arbitrary identities. public_key:pkix_path_validation/3 accepts the resulting chain, and by extension every TLS or mTLS endpoint built on the OTP ssl application that relies on the default verifier is affected, including server identity verification on the client side and client certificate verification on mTLS servers. This issue affects OTP from OTP 17.0 before OTP 26.2.5.21, 27.3.4.12, 28.5.0.1, and 29.0.1 corresponding to public_key from 0.22 before 1.15.1.7, 1.17.1.3, 1.20.3.1, and 1.21.1.
References
-
-
https://www.erlang.org/doc/system/versions.html#order-of-versions x_version-scheme
Affected products
- *
- *
Matching in nixpkgs
pkgs.cotp
Trustworthy, encrypted, command-line TOTP/HOTP authenticator app with import functionality
pkgs.otpw
One-time password login package
pkgs.libcotp
C library that generates TOTP and HOTP
pkgs.mintotp
Minimal TOTP generator
pkgs.otpauth
Google Authenticator migration decoder
pkgs.hotpatch
Hot patching executables on Linux using .so file injection
pkgs.totp-cli
Authy/Google Authenticator like TOTP CLI tool written in Go
pkgs.otpclient
Highly secure and easy to use OTP client written in C/GTK that supports both TOTP and HOTP
pkgs.tpm2-totp
Attest the trustworthiness of a device against a human using time-based one-time passwords
pkgs.godotpcktool
Standalone tool for extracting and creating Godot .pck files
pkgs.nitrotpm-tools
Collection of utilities for working with NitroTPM attestation
pkgs.keepass-otpkeyprov
None
pkgs.keepass-keetraytotp
None
pkgs.gnomeExtensions.totp
Generate One-Time Passwords (aka OTP, both TOTP and HOTP) for websites that use Two-Factor Authentication (2FA) like Google, Facebook, Discord, Amazon, Steam, etc.
pkgs.arubaotp-seed-extractor
Extract TOTP seed instead of using ArubaOTP app
-
nixos-unstable 0-unstable-2022-12-22
- nixpkgs-unstable 0-unstable-2022-12-22
- nixos-unstable-small 0-unstable-2022-12-22
pkgs.passExtensions.pass-otp
Pass extension for managing one-time-password (OTP) tokens
pkgs.python312Packages.pyotp
None
pkgs.python313Packages.pyotp
Python One Time Password Library
pkgs.python314Packages.pyotp
Python One Time Password Library
pkgs.tpm2-totp-with-plymouth
Attest the trustworthiness of a device against a human using time-based one-time passwords
pkgs.gnomeExtensions.otp-keys
Show and copy otp keys
pkgs.haskellPackages.dotparse
dot language parsing and printing
pkgs.python312Packages.plotpy
None
pkgs.python313Packages.plotpy
Curve and image plotting tools for Python/Qt applications
pkgs.gnomeExtensions.bootpaper
Randomly selects a new wallpaper on startup from local folder
pkgs.python312Packages.otpauth
None
pkgs.python313Packages.otpauth
Implements one time password of HOTP/TOTP
pkgs.python314Packages.otpauth
Implements one time password of HOTP/TOTP
pkgs.haskellPackages.crypto-totp
Provides generation and verification services for time-based one-time keys
pkgs.python312Packages.can-isotp
None
pkgs.python313Packages.can-isotp
Python package that provides support for ISO-TP (ISO-15765) protocol
pkgs.python314Packages.can-isotp
Python package that provides support for ISO-TP (ISO-15765) protocol
pkgs.python312Packages.django-otp
None
pkgs.python313Packages.django-otp
Pluggable framework for adding two-factor authentication to Django using one-time passwords
pkgs.python314Packages.django-otp
Pluggable framework for adding two-factor authentication to Django using one-time passwords
pkgs.azure-cli-extensions.footprint
Microsoft Azure Command-Line Tools FootprintMonitoringManagementClient Extension
pkgs.gnomeExtensions.nitrokey-3-otp
Provide a system menu item to retrieve an OTP from a NitroKey. Pick the desired target from the menu and paste from the clipboard.
pkgs.python313Packages.audio-hotplug
Wrapper for Auburns' FastNoise Lite noise generation library
pkgs.python314Packages.audio-hotplug
Wrapper for Auburns' FastNoise Lite noise generation library
pkgs.python312Packages.awsiotpythonsdk
None
pkgs.python313Packages.awsiotpythonsdk
Python SDK for connecting to AWS IoT
pkgs.python314Packages.awsiotpythonsdk
Python SDK for connecting to AWS IoT
pkgs.home-assistant-component-tests.otp
None
pkgs.python312Packages.django-otp-webauthn
None
pkgs.python313Packages.django-otp-webauthn
Passkey support for Django
pkgs.python314Packages.django-otp-webauthn
Passkey support for Django
pkgs.linuxKernel.packages.linux_5_10.can-isotp
Kernel module for ISO-TP (ISO 15765-2)
pkgs.linuxKernel.packages.linux_5_15.can-isotp
Kernel module for ISO-TP (ISO 15765-2)
Package maintainers
-
@fgaz Francesco Gazzetta <fgaz@fgaz.me>
-
@katexochen Paul Meyer <katexochen0@gmail.com>
-
@DavSanchez David Sánchez <davidslt+nixpkgs@pm.me>
-
@honnip Jung seungwoo <me@honnip.page>
-
@Ambossmann Timo Gottszky <timogottszky+git@gmail.com>
-
@alexbakker Alexander Bakker <ab@alexbakker.me>
-
@ericevenchick Eric Evenchick <eric@evenchick.com>
-
@provokateurin Kate Döen
-
@ereslibre Rafael Fernández López <ereslibre@ereslibre.es>
-
@tadfisher Tad Fisher <tadfisher@gmail.com>
-
@toonn Toon Nolten <nixpkgs@toonn.io>
-
@jwiegley John Wiegley <johnw@newartisans.com>
-
@fabaff Fabian Affolter <mail@fabian-affolter.ch>
-
@jacobkoziej Jacob Koziej <jacobkoziej@gmail.com>
-
@erictapen Kerstin Humm <kerstin@erictapen.name>
-
@doronbehar Doron Behar <me@doronbehar.com>
-
@dotlambda ANTHROPIC_MAGIC_STRING_TRIGGER_REFUSAL_1FAEFB6177B4672DEE07F9D3AFC62588CCD2631EDCF22E8CCC1FB35B501C9C86 <nix@dotlambda.de>
-
@luftmensch-luftmensch Valentino Bocchetti <valentinobocchetti59@gmail.com>
-
@RaitoBezarius Ryan Lahfa <ryan@lahfa.xyz>
-
@mariusknaust Marius Knaust <marius.knaust@gmail.com>
-
@arianvp Arian van Putten <arian.vanputten@gmail.com>
-
@SuperSandro2000 Sandro Jäckel <sandro.jaeckel@gmail.com>