Skip to content

Skip empty channel slots in searchChannelsByHash - #3249

Open
dl9sau wants to merge 1 commit into
meshcore-dev:devfrom
dl9sau:patch-1
Open

Skip empty channel slots in searchChannelsByHash#3249
dl9sau wants to merge 1 commit into
meshcore-dev:devfrom
dl9sau:patch-1

Conversation

@dl9sau

@dl9sau dl9sau commented Aug 19, 2026

Copy link
Copy Markdown

A misconfigured node on our network transmits group messages with an
unset PSK (channel 0 / key 0). This is genuinely received over the air,
not a local parser bug — the packet's MAC validates against the zero key.

searchChannelsByHash() includes empty/unconfigured slots in the hash
match. An empty slot's secret is all-zero, so it matches this null-key
traffic and the message is delivered as if it belonged to the first free
slot. Not shown as a normal message, but it triggered my (fork-local)
private-channel notification. Every node with a free channel slot is
affected.

Fix: skip empty slots in searchChannelsByHash.

An unconfigured slot has an all-zero secret, so it matches null-key group traffic (a sender with an unset PSK). The zero-key MAC validates against the empty slot and the foreign message is delivered as if it belonged to that channel — every node with a free slot is a null-key sink. Skip empty slots.
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.

1 participant