monero.loveA little love for the network.
← All news

Monero / Security / Wallets

Monero CLI Logging Issue Could Expose Private View Keys and Transaction Secrets

Monero CLI can save sensitive multisig and transaction keys in wallet logs. See the affected commands, proposed fix, and steps to protect your privacy.

Monero command-line wallet logs illustrated with redacted sensitive key material and a security lock

The Monero CLI logging issue concerns two commands that can leave sensitive material in monero-wallet-cli.log. On November 5, contributor Ap4sh opened Monero Core pull request #11686 to stop logging the first multisig exchange message and transaction secret keys while still displaying them to the user.

The proposal remains open and pending review as of November 5, 2026. A leaked log could reveal payment details without breaking Monero’s cryptography. The evidence reviewed does not show theft of funds.

What information can appear in wallet logs?

prepare_multisig starts setup for a wallet where several participants must approve spending. Its first exchange message contains sensitive view-key material intended for those participants. The released code derives a private view-key contribution from the starting wallet’s view key. It does not simply copy the original key.

A participant’s contribution is not, by itself, the completed multisig wallet’s combined view key. During multisig setup, the wallet combines participants’ contributions. Protecting these exchange records matters for viewing privacy. They do not expose the original private spend key.

A private view key, with the corresponding address information, lets someone recognize incoming payments. It does not grant spending access. The disclosure can expose incoming amounts without revealing the sender’s identity on its own.

get_tx_key displays the secret key for a specified outgoing transaction, including additional transaction keys when present. With the transaction ID and recipient address, these keys can help someone verify a payment and its amount, as explained in the official CLI guide. They are not the wallet’s private spend key and do not, alone, let someone spend its funds.

Why default logging retains the output

Both commands send their sensitive output through success_msg_writer(). The message writer writes that text to the msgwriter logging category at INFO level, then displays it in the terminal.

The default logging configuration includes msgwriter:INFO, even at numeric level zero. Even without debug logging, this category retains the output, so setting verbosity to zero does not solve the problem.

These entries appear when a relevant command succeeds, rather than whenever someone opens a wallet. The multisig path also has restrictions, including rejecting an already-used starting wallet. Someone else must get access to the resulting log or a copy to read these secrets.

Which versions and commands are affected?

Our source review confirmed both logging paths in released versions 0.18.5.4 and 0.18.4.6. Version 0.18.5.4 is the latest listed release at this review. These checks establish affected examples, not the earliest affected version or a complete release range.

In that code, viewkey, spendkey, and seed display already use direct console output for their secrets. These two logging paths do not establish a flaw in every wallet command or every Monero wallet application. Terminal recording and redirected output remain separate concerns.

Proposed fix and review status

The patch and regression test add a writer that omits file logging, then use it for the two sensitive messages. Ordinary messages continue to log. The test checks standard output for both messages and verifies that the log contains only the ordinary message.

The author reports an offline throwaway-wallet check of multisig output. Public CI checks passed, but there were no submitted reviews or merged fix when checked. We inspected the code and tests, without independently building the wallet. The proposal has not produced a patched release yet.

Redacted wallet log documents beside backup storage and a support-message envelope

How to protect existing logs

Treat wallet logs as confidential. Support tickets and shared diagnostic archives can give other people access to their contents. Review the smallest relevant excerpt locally and remove sensitive values before sharing. Avoid online redaction tools that receive the original file.

Check archived logs and backups too. Restrict access to wallet directories. A wallet password does not encrypt a separate log. Deleting one local copy cannot recall copies already uploaded or backed up.

Follow the pull request and official releases for a reviewed fix. Do not assume an unmerged branch is a supported security update. Use our Monero download verification guide when installing official binaries.

The reviewed disclosure and public advisories identify no CVE or confirmed exploitation. The author reproduced the behavior using a disposable wallet. The number of real logs containing sensitive output remains unknown.

Support Monero Love

Help keep the public nodes and packages running. Send any amount of XMR.

Scan with a Monero wallet to donate to Monero Love.89hGTKxRVA3AUeKAbCRBt5TMSzq3MQZooNNsezCpNFjp2oeJPRx8AJeGKA8ziHZNqab78f4Vr1ntxhPDxX5298nnGZjHkhm