LMFDB before commit 01829bd Unauthenticated Server-Side Template Injection via /knowledge/render/<ID>
Affects LMFDB commits before 01829bd, where the /knowledge/render/<ID> endpoint renders request data as Jinja template source. Fixed in commits after 01829bd.
Written by anthropic/claude-haiku-5.5 from the sources below. Verify against them.
- Exploited
- Proof of concept public, per CISA
- Fix
- Fixed in All commits after commit 01829bd09b692c720aad30c952758a20630573d4
- Who is exposed
- Not reported
Do first: Upgrade to a fixed version: All commits after commit 01829bd09b692c720aad30c952758a20630573d4.
- Last modified
- A 0-100 score for how much a CVE matters across the industry: exploitation, exposure, how widely the software is used, severity and whether a fix exists.What do these mean? →
- 45/100 · provisional
- How many real-world setups can hit the bug, from the vendor's advisory and CISA data. It does not know your setup.What do these mean? →
- Unclear
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: poc
- Automatable: yes
- Technical impact: total
Summary
LMFDB, a mathematics database web application, is affected by a server-side template injection flaw in its render_knowl function, reached through the /knowledge/render/<ID> path. A remote attacker can exploit it without logging in to inject template expressions that run operating system commands as the web application account.
Read the original description
LMFDB before commit 01829bd contains a server-side template injection vulnerability in the render_knowl function that allows unauthenticated attackers to inject Jinja expressions via request parameters. Attackers can supply crafted query-string values or 'content' data to /knowledge/render/<ID> to reach Python builtins and execute operating system commands as the web application account.
cve.now Index
- Exploitation15/40CISA rates a proof of concept as public
- Exposure20/25No login or user action needed, CISA rates it automatable · Unknown: Advisories don't say whether default setups are affected
- Reach?/20Unknown. No tracked technology or package matched
- Severity10/10CVSS 9.3, total technical impact per CISA
- No patch0/5No signal
What would change the score
- Would score about 75 if added to CISA KEV
- Would score about 70 if CISA's SSVC rates exploitation active
- Would score about 50 if advisories confirm default setups are exposed
What to do
Upgrade to a fixed version: All commits after commit 01829bd09b692c720aad30c952758a20630573d4.
Timeline
- CVE published
- First seen by cve.now
- Posted on X by cve.now
- CISA SSVC assessment
Exploitation: poc · Automatable: yes · Technical impact: total
- Record last updated
Affected versions
- LMFDB LMFDB
Version range not reported
Evidence 5
- Advisory
- Patch
- Patch
- Repository
- Link
Corrections
None so far.
Something wrong on this page? Report an error. Every fix is listed here.
Questions about CVE-2026-123198
Is CVE-2026-123198 being exploited?
It is not in CISA's Known Exploited Vulnerabilities catalog, and CISA's SSVC assessment does not mark exploitation as active. That does not mean it has not been attacked: vendors and researchers can report attacks before CISA lists them. CISA's SSVC assessment notes a proof of concept exists. No public exploit code is tracked.Source: cve.now feed data
What does this mean?
The /knowledge/render/<ID> endpoint places request data, including every query-string key and value, directly into Jinja template source and renders it without a sandbox. Template code injected this way runs on the server, which the advisory equates to remote code execution as the application's service account. The endpoint needs no authentication.Source: github.com
Am I affected, and how do I check?
LMFDB commits prior to 01829bd09b692c720aad30c952758a20630573d4 are in the affected range. To check a deployment, compare its commit hash (for example with git rev-parse HEAD) against that commit.Source: github.com
How do I fix CVE-2026-123198?
Update to a commit after 01829bd09b692c720aad30c952758a20630573d4, which contains the fix. The facts list no workaround, so updating is the documented remedy.Source: github.com