Gate identity learning on signature in NodeDB::updateUser (#11084)

This commit is contained in:
Thomas Göttgens
2026-07-20 11:56:42 +02:00
committed by GitHub
co-authored by GitHub
parent 405a6bfd8a
commit 5ded0ec8c5
5 changed files with 96 additions and 7 deletions
+3 -1
View File
@@ -61,7 +61,9 @@ bool NodeInfoModule::handleReceivedProtobuf(const meshtastic_MeshPacket &mp, mes
// Coerce user.id to be derived from the node number
snprintf(p.id, sizeof(p.id), "!%08x", getFrom(&mp));
bool hasChanged = nodeDB->updateUser(getFrom(&mp), p, mp.channel);
// updateUser() refuses the identity write for a known signer sending unsigned (all unicast
// NodeInfo), so the exchange above still proceeds but cannot spoof the stored name.
bool hasChanged = nodeDB->updateUser(getFrom(&mp), p, mp.channel, mp.xeddsa_signed);
bool wasBroadcast = isBroadcast(mp.to);