Skip to content

internal: enforce accepted-key list in userauth - #1355

Open
ejohnstown wants to merge 1 commit into
wolfSSL:masterfrom
ejohnstown:userauth-key-algos
Open

ejohnstown wants to merge 1 commit into
wolfSSL:masterfrom
ejohnstown:userauth-key-algos

Conversation

@ejohnstown

@ejohnstown ejohnstown commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

The server refuses public-key userauth with an algorithm missing from
algoListKeyAccepted, the list it advertises in server-sig-algs
(RFC 8308 Section 3.1). A NULL list keeps the compiled-in check.

  • The check matches the name the client sent, since the three OpenSSH
    RSA certificate names share one ID
  • An RSA certificate signature must use the hash its name carries, and
    ssh-rsa-cert-v01 is advertised only where ssh-rsa is accepted
  • regress: TestUserAuthPkHonorsAcceptedList,
    TestUserAuthOsshRsaCertHonorsAcceptedList

Issue: F-16810

Copilot AI balanced review requested due to automatic review settings October 29, 2026 22:28

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.

@wolfSSL-Fenrir-bot wolfSSL-Fenrir-bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fenrir Automated Review — PR #1355

Scan targets checked: wolfssh-src, wolfssh-bugs
Coverage: 2 of 2 in-scope changed file(s) opened by the reviewer

Findings: 1
1 finding(s) posted as inline comments (see file-level comments below)

This review was generated automatically by Fenrir. Reported findings require changes before merge.

Review tier: Lite

Comment thread src/internal.c Outdated
DoUserAuthRequestPublicKey() refuses a public key algorithm whose name
is not on algoListKeyAccepted, the list the server advertises in
server-sig-algs (RFC 8308 section 3.1). A NULL list leaves only the
compiled-in check.

- Match by name: the three OpenSSH RSA certificate names share one ID
- Require an RSA certificate signature to use the hash its name carries
- Advertise ssh-rsa-cert-v01 only where an ssh-rsa signature is accepted
- Add TestUserAuthPkHonorsAcceptedList and
  TestUserAuthOsshRsaCertHonorsAcceptedList to the regress tests

Issue: F-16810
Comment thread src/internal.c Outdated

@wolfSSL-Fenrir-bot wolfSSL-Fenrir-bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fenrir Automated Review — PR #1355

Scan targets checked: wolfssh-src, wolfssh-bugs
Coverage: 2 of 2 in-scope changed file(s) opened by the reviewer

Fenrir result: Approved ✅

No new issues found in the changed files.

Advisory only — this automated result does not count as a GitHub approval.

Review tier: Lite

@wolfSSL-Fenrir-bot
wolfSSL-Fenrir-bot dismissed their stale review October 30, 2026 15:33

Fenrir's latest completed scan found no issues; clearing the prior automated change request.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants