CVE-2026-35414 Overview
OpenSSH before version 10.3 contains an input validation vulnerability in the handling of the authorized_keys principals option. The vulnerability occurs in uncommon scenarios where a principals list is used in conjunction with a Certificate Authority that makes certain use of comma characters. This improper handling could allow an attacker with low privileges to bypass intended access restrictions in specific certificate-based authentication configurations.
Critical Impact
Improper handling of the authorized_keys principals option may allow unauthorized access to SSH resources when certificate-based authentication with specially crafted principal names is in use.
Affected Products
- OpenSSH versions prior to 10.3
- OpenSSH Portable versions prior to 10.3p1
- Systems using certificate-based SSH authentication with principals lists containing comma characters
Discovery Timeline
- 2026-04-02 - CVE-2026-35414 published to NVD
- 2026-04-02 - Last updated in NVD database
Technical Details for CVE-2026-35414
Vulnerability Analysis
This vulnerability is classified under CWE-670 (Always-Incorrect Control Flow Implementation), indicating a fundamental flaw in how OpenSSH processes the principals option within authorized_keys files when used alongside Certificate Authority configurations.
The issue arises when comma characters are present in principal names defined within certificates issued by a Certificate Authority. OpenSSH uses commas as delimiters in the principals list within authorized_keys entries. When a certificate contains principal names that include comma characters, the parsing logic incorrectly interprets these embedded commas as delimiters, leading to improper principal matching.
This vulnerability requires network access and low-level privileges to exploit, though the attack complexity is high due to the specific configuration requirements. Successful exploitation could result in limited confidentiality and integrity impacts, allowing an attacker to potentially authenticate as a different principal than intended.
Root Cause
The root cause lies in inadequate input validation and improper parsing of the principals field in authorized_keys entries. The OpenSSH code fails to properly escape or handle comma characters that appear within principal names issued by Certificate Authorities. This leads to ambiguous parsing where a single principal containing a comma may be incorrectly interpreted as multiple principals.
The flaw manifests in the control flow logic that matches certificate principals against the allowed principals list, resulting in always-incorrect behavior when commas are present in principal names.
Attack Vector
The attack vector requires network access to the SSH service. An attacker would need:
- A valid SSH certificate issued by a trusted Certificate Authority
- The certificate must contain principal names with embedded comma characters
- The target system must be configured to use certificate-based authentication with a principals list in authorized_keys
- The attacker must have low-level authenticated access to attempt exploitation
In vulnerable configurations, the improper parsing of comma-delimited principals could allow an attacker to match against principals they should not have access to, potentially escalating their access within the SSH infrastructure.
Due to the specific configuration requirements and the need for an existing relationship with a trusted Certificate Authority, exploitation in the wild is considered difficult but possible in environments heavily relying on SSH certificate authentication.
Detection Methods for CVE-2026-35414
Indicators of Compromise
- Unexpected SSH authentication successes for users with certificate principals containing comma characters
- Authentication log entries showing principal mismatches or unusual principal name patterns
- SSH audit logs indicating access to resources outside a user's normal principal scope
Detection Strategies
- Review SSH authentication logs for certificates with principals containing comma characters
- Audit authorized_keys files for entries using the principals= option in conjunction with certificate authentication
- Monitor for authentication patterns where users gain access to resources not explicitly listed in their certificate principals
- Implement log correlation to detect anomalous SSH access patterns
Monitoring Recommendations
- Enable verbose SSH logging (LogLevel VERBOSE or LogLevel DEBUG) to capture detailed authentication information
- Configure centralized log collection for all SSH authentication events
- Set up alerts for authentication attempts using certificates with unusual principal name formats
- Regularly audit Certificate Authority issued certificates for principal names containing special characters
How to Mitigate CVE-2026-35414
Immediate Actions Required
- Upgrade OpenSSH to version 10.3 or later immediately
- For OpenSSH Portable installations, upgrade to version 10.3p1 or later
- Review all authorized_keys files using the principals= option and assess exposure
- Audit Certificate Authority configurations to identify certificates with comma-containing principals
Patch Information
The vulnerability is addressed in OpenSSH version 10.3 and OpenSSH Portable version 10.3p1. The fix implements proper handling and escaping of comma characters within principal names, ensuring correct parsing of the principals option in authorized_keys entries.
For detailed release information, refer to the OpenSSH Release Notes 10.3p1. Additional technical discussion is available on the OpenSSH Development Mailing List and the OpenWall OSS Security Discussion.
Workarounds
- Avoid using comma characters in certificate principal names until the patch is applied
- Consider restricting certificate-based authentication to use explicit key-based authentication temporarily
- Implement additional access controls at the network layer to limit SSH exposure
- Use the AuthorizedPrincipalsFile directive with strict principal naming conventions that exclude special characters
# Configuration example - Restrict SSH to patched versions and enable detailed logging
# /etc/ssh/sshd_config
# Enable verbose logging for authentication events
LogLevel VERBOSE
# Restrict certificate authentication if unable to patch immediately
# Uncomment to disable certificate-based authentication temporarily
# TrustedUserCAKeys none
# Use strict principal file with controlled naming conventions
AuthorizedPrincipalsFile /etc/ssh/auth_principals/%u
# Ensure proper permissions on principals files
# chmod 644 /etc/ssh/auth_principals/*
# chown root:root /etc/ssh/auth_principals/*
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


