mirror of
https://github.com/meshtastic/firmware.git
synced 2025-12-14 06:42:34 +00:00
Fix NodeInfo exploit overwriting publicKey in NodeDB (#6372)
Co-authored-by: dfsx1 <dfsx1@users.noreply.github.com>
This commit is contained in:
@@ -1437,13 +1437,14 @@ bool NodeDB::updateUser(uint32_t nodeId, meshtastic_User &p, uint8_t channelInde
|
|||||||
#if !(MESHTASTIC_EXCLUDE_PKI)
|
#if !(MESHTASTIC_EXCLUDE_PKI)
|
||||||
if (p.public_key.size > 0) {
|
if (p.public_key.size > 0) {
|
||||||
printBytes("Incoming Pubkey: ", p.public_key.bytes, 32);
|
printBytes("Incoming Pubkey: ", p.public_key.bytes, 32);
|
||||||
if (info->user.public_key.size > 0) { // if we have a key for this user already, don't overwrite with a new one
|
}
|
||||||
LOG_INFO("Public Key set for node, not updating!");
|
if (info->user.public_key.size > 0) { // if we have a key for this user already, don't overwrite with a new one
|
||||||
// we copy the key into the incoming packet, to prevent overwrite
|
LOG_INFO("Public Key set for node, not updating!");
|
||||||
memcpy(p.public_key.bytes, info->user.public_key.bytes, 32);
|
// we copy the key into the incoming packet, to prevent overwrite
|
||||||
} else {
|
p.public_key.size = 32;
|
||||||
LOG_INFO("Update Node Pubkey!");
|
memcpy(p.public_key.bytes, info->user.public_key.bytes, 32);
|
||||||
}
|
} else if (p.public_key.size > 0) {
|
||||||
|
LOG_INFO("Update Node Pubkey!");
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user