Description
In Vulnerability-Lookup 5.5.1 up to but not including 6.4.1, a signed-in user could make the server allocate memory far out of proportion to their input through a webhook notification's payload template. Each placeholder's format specifier was passed unchanged to Python's string formatting, which builds the padded result before its size can be checked. A template of a few dozen bytes, such as {"text": "{title:>999999999}"}, therefore produced a string of about 1 GB when the notification form test-rendered it on save, and repeating such fields multiplied the cost. Templates that passed the save check could also repeat placeholders such as {text} thousands of times; the notification daemon rebuilt those on every webhook delivery. Deeply nested templates raised an unhandled recursion error (HTTP 500). An attacker needs only an account, which the default configuration lets anyone create after e-mail confirmation. They could exhaust the memory of web workers or the notification daemon, causing a denial of service. Version 6.4.1 caps every number in a format specifier at 256, limits a rendered template to 1,000,000 characters both on save and at delivery, and rejects templates nested deeper than 32 levels.
Published: 2026-11-06
Score: 5.3 Medium
EPSS: n/a
KEV: No
Impact: Denial of Service via memory exhaustion
Action: Immediate Patch
AI Analysis

Impact

Vulnerability‑Lookup 5.5.1 through 6.4.1 permits a signed‑in user to cause the server to allocate excessive memory when rendering webhook payload templates. Each template placeholder’s format specifier is passed directly to Python’s string formatting, allowing a user to craft a payload such as {title:>999999999}. When the notification form runs a test render, this produces an output roughly 1 GB in size, and repeating fields multiplies that cost. The notification daemon recreates the expanded string on every webhook delivery, so the memory consumption can grow rapidly. In deeply nested templates the process can end with an unhandled recursion error and a 500 response.

Affected Systems

The affected product is the Vulnerability‑Lookup web application, version 5.5.1 up to but excluding 6.4.1. Any account with user authentication, which the default configuration permits after e‑mail confirmation, can exploit the flaw. The latest released fix, 6.4.1, caps all numeric values in format specifiers to 256, limits a rendered template to 1,000,000 characters on save and delivery, and rejects templates nested deeper than 32 levels.

Risk and Exploitability

With a CVSS score of 5.3, the vulnerability is of moderate severity. There is no EPSS data and the issue is not currently listed in CISA KEV, but the condition that an attacker only needs an account and that the server may consume gigabytes of RAM indicates a realistic denial‑of‑service risk. Because the exploit is authenticated, attackers can create a new account via the default registration flow and then launch the exploit from the web interface or via the notification daemon.

Generated by OpenCVE AI on November 6, 2026 at 10:52 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Vulnerability‑Lookup to version 6.4.1 or newer.
  • Disable webhook notification rendering until the patch is applied.
  • Restrict self‑registration or require administrative approval for new accounts to prevent unauthorized creation of webhook notifications.

Generated by OpenCVE AI on November 6, 2026 at 10:52 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 06 Nov 2026 11:00:00 +0000

Type Values Removed Values Added
First Time appeared Circl
Circl vulnerability-lookup
Vendors & Products Circl
Circl vulnerability-lookup

Fri, 06 Nov 2026 09:00:00 +0000

Type Values Removed Values Added
Description In Vulnerability-Lookup 5.5.1 up to but not including 6.4.1, a signed-in user could make the server allocate memory far out of proportion to their input through a webhook notification's payload template. Each placeholder's format specifier was passed unchanged to Python's string formatting, which builds the padded result before its size can be checked. A template of a few dozen bytes, such as {"text": "{title:>999999999}"}, therefore produced a string of about 1 GB when the notification form test-rendered it on save, and repeating such fields multiplied the cost. Templates that passed the save check could also repeat placeholders such as {text} thousands of times; the notification daemon rebuilt those on every webhook delivery. Deeply nested templates raised an unhandled recursion error (HTTP 500). An attacker needs only an account, which the default configuration lets anyone create after e-mail confirmation. They could exhaust the memory of web workers or the notification daemon, causing a denial of service. Version 6.4.1 caps every number in a format specifier at 256, limits a rendered template to 1,000,000 characters both on save and at delivery, and rejects templates nested deeper than 32 levels.
Title Vulnerability-Lookup: memory amplification through webhook payload template format specifiers
Weaknesses CWE-1284
CWE-674
CWE-770
References
Metrics cvssV4_0

{'score': 5.3, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N'}


Subscriptions

Circl Vulnerability-lookup
cve-icon MITRE

Status: PUBLISHED

Assigner: CIRCL

Published:

Updated: 2026-11-06T09:04:51.732Z

Reserved: 2026-11-06T08:57:03.368Z

Link: CVE-2026-123660

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-11-06T09:17:01.367

Modified: 2026-11-06T09:17:01.367

Link: CVE-2026-123660

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-11-06T11:00:17Z

Weaknesses
  • CWE-1284

    Improper Validation of Specified Quantity in Input

  • CWE-674

    Uncontrolled Recursion

  • CWE-770

    Allocation of Resources Without Limits or Throttling