Skip to content

Zerion 3.0.12

Choose a tag to compare

@zerionproject zerionproject released this 24 Sep 18:28
· 209 commits to master since this release

Zerion 3.0.12 is a security release.

What is new

  • Client authorization of your contact address. Each pair of contacts whose
    apps support it moves from the open onion service to a second, authorized one.
    Each side generates a random X25519 key for the other and only that contact
    receives it, so Tor will not hand out the information needed to reach the
    address to anyone who cannot prove they hold the key. Once both sides have
    proven the new path, the pair uses it and nothing else, with no fallback to the
    open address. Removing a contact withdraws their key at once and rotates the
    address for the others. Contacts on an older version keep working as before.
  • Post-quantum authentication at pairing. Completing a link pairing now
    requires the post-quantum key behind the link, so an adversary who recovered
    only the classical half cannot take a peer's place. Pairing by QR code or
    Bluetooth gained the same hybrid protection.
  • Calls. Fixed a call that could keep ringing after the other side gave up, a
    self view drawn on its side, a video call reporting a camera error when the
    video link had been lost, and a first video attempt failing on a broken
    connection. Video setup now has a full minute.
  • Network status shows what Tor is really doing, building circuits or
    publishing your address, offers a Restart Tor button, and reports how many
    contacts have client authorization locked in.
  • Wallets, storage and the rest of the hardening from this quarter's internal
    security work, including the Monero wallet being unable to reach a node over
    Tor on one Android version.
  • Reproducible native build. The Monero wallet library is built from pinned
    source with a pinned build clock, and both libraries were rebuilt
    byte-for-byte in F-Droid's own build image on a different distribution.

The call audio format is documented correctly for the first time: it is
uncompressed 16 kHz mono PCM in fixed 20 ms frames, not Opus.

Verifying this build

APK SHA-256 c02b77be7631f9830f0b2afd6c7ee601096bd4d46d59dd5d52ffa13cb3f7552e
Signing certificate SHA-256 d7fdb11125890d133ae89d8ba4f4331d9045e21ef01d9899a7cdee6888f704c8
Source commit fecfc69d7e538c0765be8545e6c5adb83ad230c2
Source tag v3.0.12
Source tree 224f6c15b2ddcfcae4ac922af8e0724d61a7cc7e

release-manifest-3.0.12.json records the same values together with the hash of
every native library in the APK and the environment it was built in.
SHA256SUMS.txt covers the attached files.

The APK is built in registry.gitlab.com/fdroid/fdroidserver:buildserver-trixie
from the tag above, with the Monero library compiled from pinned source in the
same image, and is signed outside the container with the same key as every
previous release. Rebuilding from the tag in that image reproduces the payload.

The F-Droid metadata for 3.0.12 is prepared and pins this commit; their own build follows once it is submitted.

Full notes for every release are in CHANGELOG.md,
and the known limitations of the previous release, all fixed here, are in
SECURITY.md.