PT-2025-54710 · Go · Github.Com/Smallstep/Certificates

Published

2025-12-03

·

Updated

2025-12-03

CVSS v3.1

5.0

Medium

VectorAV:N/AC:H/PR:H/UI:N/S:U/C:N/I:L/A:H

Summary

An authorized attacker can bypass authorization checks and revoke any SSH certificate issued by Step CA by using a valid revocation token.

Details

Step CA users can obtain SSH certificates from a few provisioners. The SSHPOP provisioner allows revocation of the SSH certificate (preventing future certificate renewals) using a token. Due to a missing validity check, this token could be used to revoke any SSH certificate issued by the CA.
To create a token, an attacker must have access to the CA endpoint and a valid SSH certificate, meaning they were already authorized to obtain an SSH certificate. The attacker must also know the serial number of the certificate they want to revoke.

Impact

There is no way to mitigate this attack. It is recommended to update to v0.29.0 or newer.

Fix

In v0.29.0, the token validation logic was strengthened to bind each token to a specific SSH certificate serial number.

Acknowledgements

This issue was identified and reported by Gabriel Departout and Andy Russon, from AMOSSYS. This audit was sponsored by ANSSI (French Cybersecurity Agency) based on their Open-Source security audit program.

Embargo List

If your organization runs Step CA in production and would like advance, embargoed notification of future security updates, visit https://u.step.sm/disclosure to request inclusion on our embargo list.
Stay safe, and thank you for helping us keep the ecosystem secure.

Fix

Improper Authorization

Incorrect Authorization

Found an issue in the description? Have something to add? Feel free to write us 👾

Weakness Enumeration

Related Identifiers

GHSA-J7C9-79X7-8HPR

Affected Products

Github.Com/Smallstep/Certificates