---
id: "CVE-2026-118991"
kind: "vulnerability"
aliases: ["CVE-2026-118991"]
title: "CallBackery: weak backup encryption lets attackers guess passwords offline"
severity: "high"
cvss: null
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["callbackery", "package", "perl", "self-hosted"]
not_affected_if: ["no-callbackery-backups", "version-0.62.0-or-later"]
published_at: "2026-10-30T13:18:31+00:00"
first_seen_at: "2026-10-30T13:30:27+00:00"
updated_at: "2026-10-30T13:32:28+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-118991", "first_seen_at": "2026-10-30T13:30:27+00:00"}]
---

# CallBackery: weak backup encryption lets attackers guess passwords offline

CallBackery, a Perl configuration tool, encrypts its backups with a key made by padding the password with 'x' characters, with no salt or key derivation. An attacker who obtains a backup can guess the password quickly offline and then read every credential the backup holds.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check the installed CallBackery version; `unknown` if the sources do not give the command.
- Look for backup files produced by CallBackery and whether they were created by a version before `0.62.0`.

## Fix

- CallBackery versions before `0.62.0` are affected; move to `0.62.0` or later.

## Timeline

- 2026-10-30T13:30:27+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-118991

## From the sources

CallBackery versions before 0.62.0 for Perl encrypt configuration backups with the padded password as the AES key.

getCrypt() pads the backup password with "x" characters and cuts it to 32 bytes to form the AES key, with no salt and no key derivation. The first block of a backup holds a 16 hex digit length field, so decrypting one block confirms a password guess at raw AES speed.

An attacker who obtains a backup can recover its password by fast offline guessing, and with it every credential the backup holds.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
