Skip to content

Fix Dot11InformationElement parsing panic#124

Merged
mosajjal merged 1 commit intogopacket:masterfrom
mcoops:master
Aug 31, 2025
Merged

Fix Dot11InformationElement parsing panic#124
mosajjal merged 1 commit intogopacket:masterfrom
mcoops:master

Conversation

@mcoops
Copy link
Copy Markdown
Contributor

@mcoops mcoops commented Aug 16, 2025

Possible for the offset+4 to be greater than offset+m.Length resulting in a slice panic. Protect 221 and 255 which a check to ensure the start of the slice isn't greater.

Associated test will cause the panic on un-patched code with out of bounds slice.

@mosajjal mosajjal requested a review from Copilot August 16, 2025 21:49
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR fixes a potential slice panic in Dot11InformationElement parsing when the calculated offset exceeds the available data length. The fix adds bounds checking for vendor extension (ID 221) and extension element (ID 255) parsing to prevent out-of-bounds slice operations.

  • Adds a helper function checkOffsetLength to validate offset bounds before slice operations
  • Implements bounds checking for vendor extension (ID 221) and extension element (ID 255) parsing
  • Includes a regression test case that would trigger the panic on unpatched code

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
layers/dot11.go Adds bounds checking helper and validation for vendor/extension element parsing
layers/dot11_test.go Adds test case to verify the fix prevents slice panic with malformed data

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Possible for the offset+4 to be greater than offset+m.Length
resulting in a slice panic. Protect 221 and 255 which a check
to ensure the start of the slice isn't greater.
@mosajjal mosajjal merged commit fa445ca into gopacket:master Aug 31, 2025
1 check passed
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.

3 participants