Skip to main content

CallBackery EUVDEUVD-2026-113918

| CVE-2026-118992 HIGH
OS Command Injection (CWE-78)
2026-10-30 CPANSec GHSA-w32m-6wp6-8542
8.4
CVSS 3.1 · Vendor: CPANSec
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Gain access to backup-restore function
  2. Delivery
    Embed .shell/.system/.load directive in SQLite dump
  3. Exploit
    Submit crafted backup for restore
  4. Execution
    sqlite3 CLI interprets dot-command line
  5. Impact
    Execute arbitrary OS commands as application user

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization OS command sanitization, avoid shell exec
MITRE ATT&CK

2 techniques across 1 tactic: Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires the ability to supply a malicious configuration backup that is then restored through CallBackery's restoreConfigBlob() routine; the backup's database dump must contain an sqlite3 dot-command (.shell or .system to run an OS command, or .load to load native code), which the sqlite3 command-line shell executes because it treats dot-prefixed lines as its own commands rather than SQL. Limiting factors: the target must run a vulnerable version (before 0.62.0); the attacker must be able to deliver a backup and trigger its restoration (typically an administrative/operator restore operation, despite the input vector's PR:N); no user interaction beyond the restore action is otherwise needed, and commands run only with the privileges of the application user.

Impact

This is a genuine high-severity issue (CVSS 8.4) but one whose real-world priority is tempered by its access requirements. The supplied CVSS 3.1 vector (AV:L/AC:L/PR:N/UI:N) describes a local, low-complexity, no-interaction flaw with full confidentiality, integrity and availability impact as the application user via OS command execution (CWE-78). However, the vector's PR:N conflicts with the description, which states exploitation requires 'anyone who can supply a backup to be restored' and runs through restoreConfigBlob() - a configuration-restore operation that in practice is an operator/administrative action rather than an anonymous one. Verify the true privilege requirement with the vendor, because PR:N materially overstates exposure if restore is gated behind authentication. No EPSS score, no CISA KEV listing, and no public exploit code were provided, so there is no public exploit identified at time of analysis; the only trigger evidence is the CPANSec/oss-security advisory describing the mechanism. The vuln.today decision label is 'this_week' (not act_now/emergency), consistent with a serious-but-not-actively-exploited defect in a niche product. Net assessment: legitimate code-execution bug worth patching promptly, but the absence of exploitation signals plus the restore-access precondition make it a this-week remediation item rather than a drop-everything emergency.

Exploit ScenarioDerived

An actor who can submit a configuration backup for restoration crafts a backup whose embedded SQLite dump contains a dot-command such as '.shell' or '.system'. When restoreConfigBlob() pipes that dump into the sqlite3 command-line shell, the shell interprets the dot-line and executes the embedded OS command as the application user. No public exploit code was identified; the mechanism is documented only in the advisory.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 30, 2026

OS command execution in CallBackery for Perl before 0.62.0 allows an attacker who can supply a configuration backup to run arbitrary commands as the application user when that backup is restored. The restoreConfigBlob() routine pipes the backup's database dump into the sqlite3 command-line shell, which executes dot-prefixed lines such as .shell, .system and .load as its own instructions instead of treating them as SQL data. The assessed vector (CVSS 8.4, AV:N/AC:L/PR:L/UI:N) means delivery can occur over the network but the attacker must hold the privileges needed to submit a backup and trigger its restoration; no public exploit has been identified at time of analysis, and vendor release 0.62.0 provides the fix.

RemediationAI

Upgrade CallBackery to version 0.62.0 or later, which is the vendor-released fix; the change log is at https://metacpan.org/release/OETIKER/CallBackery-0.62.0/changes and the advisory is at https://seclists.org/oss-sec/2026/q4/451. Where the upgrade cannot be applied immediately, the practical compensating control follows directly from the assessed prerequisite: restrict the ability to submit and restore configuration backups to a small set of trusted operators, since an attacker must be able to deliver a backup and have restoreConfigBlob() process it, at the cost of removing the restore workflow for other users. Additionally, running the application under a low-privileged service account limits what .shell, .system and .load can achieve, because injected commands execute only with the application user's rights; the trade-off is that tightening that account's file and network permissions may break legitimate backup, database or integration functionality and must be validated before rollout.

Affected ProductsAI

CallBackery for Perl, all versions before 0.62.0, are affected; version 0.62.0 is the first fixed release per the vendor's change log at https://metacpan.org/release/OETIKER/CallBackery-0.62.0/changes. The vulnerable code path is restoreConfigBlob(), so exposure applies to deployments that use the configuration backup/restore feature and accept backups from parties other than fully trusted operators. The CVE tracks as EUVD-2026-113918 and was reported by CPANSec; the public advisory is at https://seclists.org/oss-sec/2026/q4/451, with the NVD entry at https://nvd.nist.gov/vuln/detail/CVE-2026-118992. No CPE strings were supplied with the source data, so exact platform and package identifiers beyond the Perl distribution name and the pre-0.62.0 version range are not confirmed.

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

CallBackery is a Perl application framework that includes a configuration backup/restore facility. Its restoreConfigBlob() routine takes the database dump contained in a backup and feeds it to the sqlite3 command-line shell. That shell is not a pure SQL interpreter: any line beginning with a dot is treated as a shell meta-command. The .shell and .system meta-commands spawn operating-system commands, and .load loads a native shared library into the sqlite3 process, so a crafted dump achieves arbitrary code execution in the context of the application user. The root cause is CWE-78 (improper neutralization of special elements used in an OS command): untrusted backup content crosses a trust boundary into a component that interprets it as commands rather than as inert SQL. The vulnerable path is only reached when a backup is actually restored, and command impact is bounded by the privileges of the account under which the application runs; the trigger and delivery mechanism are described in the available sources, and the fix landed in release 0.62.0.

Know when Perl gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (CPANSec) PRIMARY 8.4 HIGH
AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 8.8 HIGH

Restore is normally an authenticated operator action exposed via the web app, so PR:L and AV:N; dot-command injection is trivial (AC:L) and yields full command execution as the app user (C/I/A:H).

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (CPANSec).

CVSS VectorVendor: CPANSec

Attack Vector
Local
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

3
CVSS changed
Oct 30, 2026 - 19:22 NVD
8.4 (HIGH)
CVE Published
Oct 30, 2026 - 13:11 cve.org
UNKNOWN (no severity yet)
CVE Published
Oct 30, 2026 - 13:11 cve.org
HIGH 8.4

DescriptionCVE.org

CallBackery versions before 0.62.0 for Perl allow OS command execution via sqlite3 shell commands in a restored configuration backup.

restoreConfigBlob() feeds the database dump in a backup to the sqlite3 command-line shell. The shell runs lines starting with a dot as its own commands, so .shell or .system in the dump runs an OS command and .load loads native code.

Anyone who can supply a backup to be restored can run arbitrary commands as the application user.

Executive ViewAI

Why It Matters

CVE-2026-118992 in CallBackery for Perl (before 0.62.0) enables OS command execution when an attacker with backup submission and restore privileges supplies a malicious configuration backup. This requires authenticated access but can lead to full compromise of the application user's environment, affecting any organization using the affected versions for backup and restore operations.

Business Impact: Medium
Compensating Controls

Vendor-released patch: 0.62.0

Threat Intelligence Overview

EPSS Score
0.2%
Top 86% exploitable
Prevalence
Low
niche Perl/CPAN web-application framework, limited production footprint
Data Quality
3 sources
Confidence: Low

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Defer
Exploitation
None
System Exposure· derived
Small
Automatable
No
Human Impact
Medium
Technical Impact
Total

Priority Score

42
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +42
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

OS command injection occurs when an application passes unsanitized user input directly into system shell commands.

More in Perl

View all
CVE-2012-6329 HIGH POC
7.5 Jan 04

The _compile function in Maketext.pm in the Locale::Maketext implementation in Perl before 5.17.7 does not properly hand

CVE-2017-12814 CRITICAL POC
9.8 Sep 28

Stack-based buffer overflow in the CPerlHost::Add method in win32/perlhost.h in Perl before 5.24.3-RC1 and 5.26.x before

CVE-2015-8608 CRITICAL POC
9.8 Feb 07

The VDir::MapPathA and VDir::MapPathW functions in Perl 5.22 allow remote attackers to cause a denial of service (out-of

CVE-2018-18314 CRITICAL POC
9.8 Dec 07

Perl before 5.26.3 has a buffer overflow via a crafted regular expression that triggers invalid write operations. Rated

CVE-2018-18312 CRITICAL POC
9.8 Dec 05

Perl before 5.26.3 and 5.28.0 before 5.28.1 has a buffer overflow via a crafted regular expression that triggers invalid

CVE-2026-13221 CRITICAL POC
9.1 Jul 13

Silently incorrect regular-expression matching in the Perl interpreter (all versions through 5.43.9) lets an oversized a

CVE-2018-18313 CRITICAL POC
9.1 Dec 07

Perl before 5.26.3 has a buffer over-read via a crafted regular expression that triggers disclosure of sensitive informa

CVE-2016-2381 HIGH
7.5 Apr 08

Perl might allow context-dependent attackers to bypass the taint protection mechanism in a child process via duplicate e

CVE-2023-31484 HIGH POC
8.1 Apr 29

CPAN.pm before 2.35 does not verify TLS certificates when downloading distributions over HTTPS. Rated high severity (CVS

CVE-2016-6185 HIGH POC
7.8 Aug 02

The XSLoader::load method in XSLoader in Perl does not properly locate .so files when called in a string eval, which mig

CVE-2018-12015 HIGH POC
7.5 Jun 07

In Perl through 5.26.2, the Archive::Tar module allows remote attackers to bypass a directory-traversal protection mecha

CVE-2020-10543 HIGH
8.2 Jun 05

Perl before 5.30.3 on 32-bit platforms allows a heap-based buffer overflow because nested regular expression quantifiers

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy