Is my entire setup unsafe then?
Partially. Because if one key is weak, then if another key is strong, then still: 2-of-3 multisig means, that you need two signatures. A single signature will not suffice. Which means, that the security will be simply downgraded to a single key in that case. So: it would be as safe, as 1-of-2 multisig on the remaining two keys.
Or do the other two wallets then show me the correct address so that I know that something is wrong and I can set up the MultiSig again
If you won't get exactly the same keys, then you will get different addresses, and you will then notice, that something is wrong, if one wallet gives you one address, and a different wallet gives you something completely different.
But obviously, if some wallet is compromised, then it won't need to send coins to any multisig at all, it could just be locked straight into the attacker's address.
all 3 wallets show the same address even if it is wrong
No, because if you use a different public key, then you will get a different address. Even writing the same public keys in a different order, will lead you to a different address.
and the 2 CoSigners have to accept it because they can't verify it
Why not? If you use HD wallet in all three wallets, and you imported xpubs into other wallets, then you know exactly, what is the previous public key, the current public key, and the next public key. Then, public keys are known by all wallets, and if any of them is compromised, then it will show you a different address. Each public key should be known by each wallet, the only difference is which private keys they have.
But the post says that all 3 signers then show the wrong address.
Why? Let's see some example:
deriveaddresses "wpkh(tpubDBVGXMP9pdYBa5S9yuCu1V3zDuBre1bsZhU6UVuQBXKqZsZaLzv9PwmCCLwvUE8b89WLW8uHxPjvWie5eoYnaeP6BJ5Fip5cU1mbmGSXFdU/*)#vrn3jpgp" '[0,0]'
[
"bcrt1q8t7qh9352u2yr47rnnzyqqtq84wzzvtet7kx4s"
]
deriveaddresses "wpkh(tpubDBczqcKxSvrezSozjdv21fSfLXmEnyLCDxBb9A22yXcaFmkDcnVJP2syjrumiLKtQcEetEv6ZFPPovGqPE5bNrHRciSW6boYpuSbJDSfDdW/*)#3sg97vc2" '[0,0]'
[
"bcrt1qlkhpgdpkyla20g93l584d3mqjdcu825xpk39ep"
]
deriveaddresses "wpkh(tpubDBGgPrhqnbqdWuUNXztnbJdH3iCK2AoS2MJj7bccVL8y3YSoraMPHA36hjHwxsksZEL3JSCTcqjxv9VsrDZPvUXx8xfE4R4qe5khzYQSAYm/*)#fezyzwky" '[0,0]'
[
"bcrt1qxa5zyrzkl9e5uahmlldp6h0qf76e7t6s47apxu"
]
getaddressinfo bcrt1q8t7qh9352u2yr47rnnzyqqtq84wzzvtet7kx4s
{
"address": "bcrt1q8t7qh9352u2yr47rnnzyqqtq84wzzvtet7kx4s",
...
"pubkey": "03653c0ef54ee8804b3a8281715d65d4ab648ed211278fca83433ce8ec2e2df6e9",
...
}
getaddressinfo bcrt1qlkhpgdpkyla20g93l584d3mqjdcu825xpk39ep
{
"address": "bcrt1qlkhpgdpkyla20g93l584d3mqjdcu825xpk39ep",
...
"pubkey": "022b23244f6ff3614f808850e877338f301f6f7c2b64c418e9adb04327f39192ea",
...
}
getaddressinfo bcrt1qxa5zyrzkl9e5uahmlldp6h0qf76e7t6s47apxu
{
"address": "bcrt1qxa5zyrzkl9e5uahmlldp6h0qf76e7t6s47apxu",
...
"pubkey": "03beaf3cd36e0d4a2ed9b3c6065cc63725da644922f0a47d72a8105e7e75846fe4",
...
}
createmultisig 2 '["022b23244f6ff3614f808850e877338f301f6f7c2b64c418e9adb04327f39192ea","03653c0ef54ee8804b3a8281715d65d4ab648ed211278fca83433ce8ec2e2df6e9","03beaf3cd36e0d4a2ed9b3c6065cc63725da644922f0a47d72a8105e7e75846fe4"]' 'bech32'
{
"address": "bcrt1qxxy0vyalwl889eyzdeq6m8l4tlfhj5jknkwa34wp4279ztwsrars36v26t",
"redeemScript": "5221022b23244f6ff3614f808850e877338f301f6f7c2b64c418e9adb04327f39192ea2103653c0ef54ee8804b3a8281715d65d4ab648ed211278fca83433ce8ec2e2df6e92103beaf3cd36e0d4a2ed9b3c6065cc63725da644922f0a47d72a8105e7e75846fe453ae",
"descriptor": "wsh(multi(2,022b23244f6ff3614f808850e877338f301f6f7c2b64c418e9adb04327f39192ea,03653c0ef54ee8804b3a8281715d65d4ab648ed211278fca83433ce8ec2e2df6e9,03beaf3cd36e0d4a2ed9b3c6065cc63725da644922f0a47d72a8105e7e75846fe4))#8fkrjns3"
}
If you change anything, then you will see a different address, even if you just shuffle your keys:
createmultisig 2 '["03653c0ef54ee8804b3a8281715d65d4ab648ed211278fca83433ce8ec2e2df6e9","022b23244f6ff3614f808850e877338f301f6f7c2b64c418e9adb04327f39192ea","03beaf3cd36e0d4a2ed9b3c6065cc63725da644922f0a47d72a8105e7e75846fe4"]' 'bech32'
{
"address": "bcrt1qny6hxj8kkuxfrqxrj2k0cy47za5585pkj46p3daeg8qxl9jtelpsepqaan",
"redeemScript": "522103653c0ef54ee8804b3a8281715d65d4ab648ed211278fca83433ce8ec2e2df6e921022b23244f6ff3614f808850e877338f301f6f7c2b64c418e9adb04327f39192ea2103beaf3cd36e0d4a2ed9b3c6065cc63725da644922f0a47d72a8105e7e75846fe453ae",
"descriptor": "wsh(multi(2,03653c0ef54ee8804b3a8281715d65d4ab648ed211278fca83433ce8ec2e2df6e9,022b23244f6ff3614f808850e877338f301f6f7c2b64c418e9adb04327f39192ea,03beaf3cd36e0d4a2ed9b3c6065cc63725da644922f0a47d72a8105e7e75846fe4))#ju9j3xhz"
}
As you can see, the address is different, even if you just put the same keys in a different order. So, if all wallets will have all xpubs, then they will know upfront, that on index zero, they should get bcrt1qxxy0vyalwl889eyzdeq6m8l4tlfhj5jknkwa34wp4279ztwsrars36v26t. If they will get something else, then they will reject it. So, you can only compromise the system by having a weak xprv. But then, it will be just as safe as 1-of-2 multisig on remaining keys.