apple / apple/swift-nio-ssh

Check inbound unprocessed packet sizes

Open
#46 5 comments 0 reactions 0 assignees View on GitHub
Dominant language
Swift
Stars
515
Forks
85
PR merge metrics
No merged PRs in 30d

Description

There seem to be SSH-like servers on the internet that behave maliciously, with the intent of repelling malicious connections. They work by sending out an infinite version length or banner. I checked the recent code, but cannot find any length checks or tests. Although I doubt it's a common occurrence, I think it's best to add these checks with tests. I haven't determined a good maximum size yet, however. With some recommendations on that, I'll happily make a PR. I do think separate limits should exist for the pre/post KEX.

Contributor guide

Open the contributing guide

Research direction

Start by tracing inbound SSH version or banner parsing and checking nearby tests; the issue does not name specific files or existing length checks. Confirm appropriate maximum sizes, including separate pre-KEX and post-KEX limits, then add tests demonstrating rejection of oversized or unbounded input.

Written by the indexing model from the issue text.

Assessment

Tech stack
swift
Domain
networking, security
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.