CVE-2026-61630: nginx ignition has TOTP Reuse During Validity Window

Published Sep 21, 2026
·
Updated

Summary Any user that has enabled the OTP 2FA can have their TOTP reused during the standard 30 second validity window.

Details The https://github.com/pquerna/otp package doesn't include checking for already used TOTPs within its the validity window. This requires each application that uses the package to implement their own method of tracking and verifying that codes can't be reused.

Section 6.5.1 within the Authentication section of the OWASP ASVS recommends multiple checks, some of which involving TOTPs:

Verify that lookup secrets, out-of-band authentication requests or codes, and time-based one-time passwords (TOTPs) are only successfully usable once.

The OWASP WSTG also references this as one of their checks to look for:

Can the OTPs be used more than once?

PoC

https://github.com/user-attachments/assets/86a43374-39bf-4d61-8f6d-5cc440c99a1e

Impact Any user who uses 2FA could be impacted if their traffic is able to be captured, they're phished/social engineered, or other methods of attack. This disrupts one layer of the defense-in-depth model surrounding 2FA.

Similar CVEs - CVE-2025-6014 - CVE-2025-55003 - CVE-2026-33473

Remediation Store a deny-list of TOTP codes for their validity windows and check submitted codes against it to ensure none are being reused. After their validity window has closed, the 2FA code can be removed from the list.

Other sources

nginx ignition is a user interface for the nginx web server. In versions 2.33.0 through 2.35.0, any user that has enabled the OTP 2FA can have their TOTP reused during the standard 30 second validity window. Version 2.35.1 patches the issue.

— MITRE

Affected Software

2 affected componentsFixes available
Nginx nginx ignition>=2.33.0<2.35.1
go/github.com/lucasdillmann/nginx-ignition>=0.0.0-20260217145239-1cbfae0296f1<0.0.0-20260328015550-8d35e1eb5dd6
0.0.0-20260328015550-8d35e1eb5dd6

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade go/github.com/lucasdillmann/nginx-ignition to a version that resolves this vulnerability.

    Fixed in 0.0.0-20260328015550-8d35e1eb5dd6
  2. Upgrade

    Upgrade nginx ignition to a version that resolves this vulnerability.

    Fixed in 2.35.1Patch CVE-2026-33473
  3. Configuration

    In addition to upgrading, store a deny-list of TOTP codes for their validity windows and check submitted codes against it to ensure none are being reused (remove codes after their validity window has closed).

    nginx ignition TOTP reuse prevention (deny-list) = Implement deny-list of TOTP codes for their validity windows and reject reused codes within the window

Event History

Sep 21, 2026
CVE Published
via MITRE·02:17 PM
Data Sourced
via MITRE·02:17 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·03:17 PM
DescriptionSeverityWeakness
Advisory Published
via GitHub·09:47 PM
Data Sourced
via GitHub·09:47 PM
DescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

Which deployments are affected?

nginx ignition versions 2.33.0 through 2.35.0 are affected for users who have enabled OTP-based two-factor authentication. Version 2.35.1 patches the issue.

2

What would an attacker need to exploit this?

The attacker would need a valid TOTP value for an affected user and would need to reuse it within the standard 30-second TOTP validity window. The supplied CVSS vector also indicates high privileges, user interaction, and high attack complexity are required.

3

How can I determine whether I am exposed?

Check the deployed nginx ignition version and whether users have OTP 2FA enabled. Instances running versions 2.33.0 through 2.35.0 with OTP-enabled users should be treated as affected.

4

What is the remediation?

Upgrade nginx ignition to version 2.35.1, which patches TOTP reuse during the validity window.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203