Tandoor Recipes is a recipe manager than can be installed with the Nix package manager. Starting in version 23.05 and prior to version 26.05, when using the default configuration of Tandoor Recipes, specifically using SQLite and default MEDIA_ROOT, the full database file may be externally accessible, potentially on the Internet. The root cause is that the NixOS module configures the working directory of Tandoor Recipes, as well as the value of MEDIA_ROOT, to be /var/lib/tandoor-recipes. This causes Tandoor Recipes to create its db.sqlite3 database file in the same directory as MEDIA_ROOT causing it to be accessible without authentication through HTTP like any other media file. This is the case when using GUNICORN_MEDIA=1 or when using a web server like nginx to serve media files. NixOS 26.05 changes the default value of MEDIA_ROOT to a sub folder of the data directory. This only applies to configurations with system.stateVersion >= 26.05. For older configurations, one of the workarounds should be applied instead. NixOS 25.11 has received a backport of this patch, though it doesn't fix this vulnerability without user intervention. A recommended workaround is to move MEDIA_ROOT into a subdirectory. Non-recommended workarounds include switching to PostgreSQL or disallowing access to db.sqlite3.
CVE-2026-23838
“—” beside the score: it is equal to NVD's CVSS score.
This high-severity CVE scores 8.7 under NVD CVSS v3. EPSS exploit probability: 0.5% (43rd percentile of EPSS-scored CVEs). No GitHub Security Advisory CVSS is on record for this CVE.
Also known asEUVD-2026-3303 (ENISA EUVD)Source: ENISA EUVD
- CISA's Vulnrichment rates exploitation as PoC; EchelonGraph holds no exploit-code reference for it
No fix is confirmed yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for the fix.
The CVE record's description, written by its CNA (GitHub, Inc.), states the affected versions: "Starting in version 23.05 and prior to version 26.05, when using the default configuration of Tandoor Recipes, specifically using SQLite and default `MEDIA_ROOT`, the full database file may be externally accessible, pot…" No release containing a fix is confirmed on record.
- CVSS v3
- 8.7
- EG Score
- 8.7HIGHmedium confidence
- EG Risk
- 70EG Risk 70/100
EG Risk is EchelonGraph's 0–100 priority score. It fuses impact severity (EG Severity, the CVSS base score, never the KEV-floored or EPSS-lifted EG Score) with real-world exploitation and automatability, under weights EchelonGraph set by hand, so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner.
How it’s computed (value × EchelonGraph’s weight)Severity87% × 45%Impact severity (EG Severity): CVSS 8.7 of 10. Never the KEV-floored or EPSS-lifted EG Score.Exploitation40% × 40%EchelonGraph's fixed weight for EG-KEV Tier 3 (Elevated): a constant, not a probability.Automatability100% × 15%CISA's SSVC Automatable value: yes (Vulnrichment).SSVC (CISA's decision table, applied by EchelonGraph): Track at low or medium mission impact; Attend at high (mission-essential systems).Exploitation public PoC (CISA Vulnrichment) · Automatable yes (CISA Vulnrichment) · Technical impact partial (CISA Vulnrichment). All three are CISA's SSVC values (Vulnrichment). EchelonGraph applied CISA's decision table to them; CISA publishes SSVC inputs and the table, not a decision for each CVE.Action: No fix is confirmed yet. Check with the vendor for a fixed release; until one is applied, restrict network exposure of the affected system on your normal schedule at low or medium mission impact and sooner than that at high. - EPSS PROB
- 0.5%
- EPSS %ILE
- 43rd
- KEV
- Not listed
What the EG score is made of (scorer v4.0: the three questions the 0–10 score mixes, published apart · methodology)
The EG score (8.7): severity, escalated by confirmed exploitation. This CVE's 8.7 is its impact severity (EG Severity), not escalated.
- EG Severity
- 8.7 HIGHCVSS-B, impact only: no KEV listing, EPSS or EG-KEV tier raises it.NVD CVSS v3 · CVSS v3.0 or v3.1
- EG Likelihood
- 0.5% within 30 daysSource: FIRST EPSS (model v2026.06.15, score date 2026-10-30). FIRST's exploitation probability, not an EchelonGraph model.
- Confirmed exploitation
- None on record (CISA KEV, EG-KEV Tier 1)Reported apart from the likelihood: an observed fact, not a probability.
- EG Priority
- SSVC Track at medium mission impactTrack at low or medium mission impact; Attend at high (mission-essential systems).CISA BOD 26-04: 14 days if the affected system is publicly exposed; 60 days if it is not.No released fix is confirmed on this page, but CISA's timeline does not wait for a fix's release: it starts when an agency identifies the flaw on an asset and updates the CDM Agency and Federal Dashboard, and the directive counts patching, decommissioning the system or another action as remediation. Until a fixed release is applied, mitigate as this page's verdict says.Each input and its source, and whom BOD 26-04 binds: the SSVC and BOD 26-04 blocks below.
SSVC (CISA's decision table, applied by EchelonGraph)Track at low or medium mission impact; Attend at high (mission-essential systems).
No fix is confirmed yet. Check with the vendor for a fixed release; until one is applied, restrict network exposure of the affected system on your normal schedule at low or medium mission impact and sooner than that at high.
Exploitation public PoC (CISA Vulnrichment) · Automatable yes (CISA Vulnrichment) · Technical impact partial (CISA Vulnrichment). All three are CISA's SSVC values (Vulnrichment). EchelonGraph applied CISA's decision table to them; CISA publishes SSVC inputs and the table, not a decision for each CVE. Mission impact is CISA's Mission & Well-being decision point, and only you can judge it. CISA's table makes it high when Mission Prevalence is Essential — the vulnerable component "directly provides capabilities that constitute at least one MEF for at least one entity" (MEF: mission essential function) — or when Public Well-Being Impact is Irreversible: "multiple fatalities are likely", the cyber-physical system "is likely lost or destroyed", "extreme or serious externalities" are imposed on other parties, or social systems such as elections or the financial grid "are destabilized and potentially collapse". CISA's decision table
BOD 26-04 (CISA's remediation timeline, Table 1)14 days if the affected system is publicly exposed; 60 days if it is not.
No released fix is confirmed on this page, but CISA's timeline does not wait for a fix's release: it starts when an agency identifies the flaw on an asset and updates the CDM Agency and Federal Dashboard, and the directive counts patching, decommissioning the system or another action as remediation. Until a fixed release is applied, mitigate as this page's verdict says.
The score's inputs: In CISA KEV no (CISA's KEV catalog) · Automatable yes (CISA Vulnrichment) · Technical impact partial (CISA Vulnrichment). Whether your system is publicly exposed is yours to answer. BOD 26-04 binds US Federal Civilian Executive Branch agencies; for anyone else it is CISA's published timeline, a reference rather than an obligation. The directive · how EchelonGraph applies it
Published
January 19, 2026
Last Modified
June 17, 2026
Advisory Details (4)
Auto-updated Aug 2, 2026SQLite database externally accessible with the default settings of Tandoor Recipes module · Advisory · NixOS/nixpkgs · GitHub
https://github.com/NixOS/nixpkgs/security/advisories/GHSA-g8w3-p77x-mmxh[25.11] nixos/tandoor-recipes: fix database leak when serving media
Fix merged in NixOS/nixpkgs PR #481140 on 2026-01-19 — awaiting tagged release
https://github.com/NixOS/nixpkgs/pull/481140nixos/tandoor-recipes: fix database leak when serving media
Fix merged in NixOS/nixpkgs PR #427845 on 2025-12-28 — awaiting tagged release
https://github.com/NixOS/nixpkgs/pull/427845tandoor-recipes: Default storage configuration is prone to sqlite database leaks · Issue #338339 · NixOS/nixpkgs · GitHub
https://github.com/NixOS/nixpkgs/issues/338339Weakness Classification(1)
MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.
Data Freshness Timeline
(refreshed 8× in last 7d / 40× in last 30d)
Each row is a time one of our pipelines fetched, updated or re-scored this CVE. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. An arrow marks a change the record states ("CVSS v3 → 9.1"); EPSS and GHSA rows show the values recorded at that time, not what changed (EPSS values are rounded; hover one for the exact figures). Most recent first.
Showing the most recent 99 of 228 refreshes on record for this CVE.
A repeat, a row identical to one the same pipeline wrote less than 10 seconds earlier, is not a separate refresh and is not counted. 1 repeat row among the latest 100 is merged into the row it repeats. The 129 oldest rows on record are not shown and were not checked, so the counts can still include repeats.
- 2026-11-02 16:44 UTCEPSS rescoreEPSS 0.5% · 43rd percentile
- 2026-11-01 16:34 UTCEPSS rescoreEPSS 0.5% · 43rd percentile
- 2026-10-31 16:32 UTCEPSS rescoreEPSS 0.5% · 43rd percentile
- 2026-10-31 04:29 UTCEG score recompute
- 2026-10-30 16:34 UTCEPSS rescoreEPSS 0.5% · 43rd percentile
- 2026-10-29 16:32 UTCEPSS rescoreEPSS 0.5% · 43rd percentile
- 2026-10-28 16:31 UTCEPSS rescoreEPSS 0.5% · 43rd percentile
- 2026-10-27 16:31 UTCEPSS rescoreEPSS 0.5% · 43rd percentile
- 2026-10-26 16:31 UTCEPSS rescoreEPSS 0.5% · 43rd percentile
- 2026-10-25 16:32 UTCEPSS rescoreEPSS 0.5% · 43rd percentile
- 2026-10-25 14:41 UTCEG score recompute
- 2026-10-24 16:32 UTCEPSS rescoreEPSS 0.5% · 42nd percentile
- 2026-10-24 10:46 UTCEG score recompute
- 2026-10-23 16:31 UTCEPSS rescoreEPSS 0.5% · 42nd percentile
- 2026-10-22 16:34 UTCEPSS rescoreEPSS 0.5% · 42nd percentile
- 2026-10-21 16:32 UTCEPSS rescoreEPSS 0.5% · 42nd percentile
- 2026-10-20 16:32 UTCEPSS rescoreEPSS 0.5% · 42nd percentile
- 2026-10-19 16:31 UTCEPSS rescoreEPSS 0.5% · 42nd percentile
- 2026-10-18 16:31 UTCEPSS rescoreEPSS 0.5% · 42nd percentile
- 2026-10-18 03:54 UTCEG score recompute
- 2026-10-17 17:04 UTCEG score recompute
- 2026-10-17 16:33 UTCEPSS rescoreEPSS 0.5% · 42nd percentile
- 2026-10-16 16:41 UTCEPSS rescoreEPSS 0.5% · 42nd percentile
- 2026-10-15 16:31 UTCEPSS rescoreEPSS 0.5% · 42nd percentile
- 2026-10-14 16:32 UTCEPSS rescoreEPSS 0.5% · 42nd percentile
Show 74 moreShow fewer
- 2026-10-13 16:33 UTCEPSS rescoreEPSS 0.5% · 42nd percentile
- 2026-10-12 16:33 UTCEPSS rescoreEPSS 0.5% · 42nd percentile
- 2026-10-12 16:20 UTCEG score recompute
- 2026-10-11 20:02 UTCEG score recompute
- 2026-10-11 17:16 UTCEG score recompute
- 2026-10-11 14:47 UTCEG score recompute
- 2026-10-11 13:48 UTCEPSS rescoreEPSS 0.5% · 42nd percentile
- 2026-10-10 20:00 UTCEPSS rescoreEPSS 0.5% · 42nd percentile
- 2026-10-09 20:07 UTCEPSS rescoreEPSS 0.5% · 42nd percentile
- 2026-10-09 13:58 UTCOSV refresh
- 2026-10-08 17:11 UTCEPSS rescoreEPSS 0.5% · 41st percentile
- 2026-10-07 23:47 UTCEPSS rescoreEPSS 0.5% · 41st percentile
- 2026-10-06 15:17 UTCEPSS rescoreEPSS 0.5% · 41st percentile
- 2026-10-05 17:42 UTCEPSS rescoreEPSS 0.5% · 41st percentile
- 2026-10-04 23:21 UTCEPSS rescoreEPSS 0.5% · 41st percentile
- 2026-10-01 19:49 UTCEPSS rescoreEPSS 0.5% · 41st percentile
- 2026-09-30 15:03 UTCEPSS rescoreEPSS 0.5% · 41st percentile
- 2026-09-29 15:21 UTCEPSS rescoreEPSS 0.5% · 41st percentile
- 2026-09-28 13:51 UTCEPSS rescoreEPSS 0.5% · 41st percentile
- 2026-09-27 13:47 UTCEPSS rescoreEPSS 0.5% · 41st percentile
- 2026-09-26 15:58 UTCEPSS rescoreEPSS 0.5% · 41st percentile
- 2026-09-26 00:26 UTCEPSS rescoreEPSS 0.5% · 41st percentile
- 2026-09-24 14:03 UTCEPSS rescoreEPSS 0.5% · 41st percentile
- 2026-09-20 20:15 UTCEPSS rescoreEPSS 0.5% · 42nd percentile
- 2026-09-19 21:30 UTCOSV refresh
- 2026-09-18 19:27 UTCEPSS rescoreEPSS 0.5% · 42nd percentile
- 2026-09-16 14:07 UTCEPSS rescoreEPSS 0.5% · 42nd percentile
- 2026-09-16 05:15 UTCEPSS rescoreEPSS 0.5% · 39th percentile
- 2026-09-13 16:47 UTCEPSS rescoreEPSS 0.5% · 39th percentile
- 2026-09-12 15:01 UTCEPSS rescoreEPSS 0.5% · 39th percentile
- 2026-09-11 14:52 UTCEPSS rescoreEPSS 0.5% · 39th percentile
- 2026-09-10 09:34 UTCEPSS rescoreEPSS 0.5% · 39th percentile
- 2026-09-08 22:00 UTCEPSS rescoreEPSS 0.5% · 39th percentile
- 2026-09-07 16:01 UTCEPSS rescoreEPSS 0.5% · 39th percentile
- 2026-09-06 13:47 UTCEPSS rescoreEPSS 0.5% · 38th percentile
- 2026-09-04 05:06 UTCEPSS rescoreEPSS 0.5% · 38th percentile
- 2026-09-02 14:11 UTCEPSS rescoreEPSS 0.5% · 38th percentile
- 2026-09-01 13:53 UTCEPSS rescoreEPSS 0.5% · 38th percentile
- 2026-09-01 04:39 UTCEPSS rescoreEPSS 0.5% · 38th percentile
- 2026-09-01 00:34 UTCOSV refresh
- 2026-08-30 19:17 UTCEPSS rescoreEPSS 0.5% · 38th percentile
- 2026-08-30 01:22 UTCEPSS rescoreEPSS 0.5% · 38th percentile
- 2026-08-28 21:41 UTCEPSS rescoreEPSS 0.5% · 38th percentile
- 2026-08-27 14:25 UTCEPSS rescoreEPSS 0.5% · 38th percentile
- 2026-08-26 14:46 UTCEPSS rescoreEPSS 0.5% · 38th percentile
- 2026-08-25 13:48 UTCEPSS rescoreEPSS 0.5% · 37th percentile
- 2026-08-23 00:19 UTCEPSS rescoreEPSS 0.5% · 38th percentile
- 2026-08-21 23:49 UTCEPSS rescoreEPSS 0.5% · 38th percentile
- 2026-08-20 22:55 UTCEPSS rescoreEPSS 0.5% · 38th percentile
- 2026-08-19 17:03 UTCEPSS rescoreEPSS 0.5% · 38th percentile
- 2026-08-18 13:48 UTCEPSS rescoreEPSS 0.5% · 38th percentile
- 2026-08-17 13:47 UTCEPSS rescoreEPSS 0.4% · 33rd percentile
- 2026-08-16 14:56 UTCEPSS rescoreEPSS 0.4% · 33rd percentile
- 2026-08-16 02:14 UTCEPSS rescoreEPSS 0.4% · 33rd percentile
- 2026-08-15 01:30 UTCEPSS rescoreEPSS 0.4% · 33rd percentile
- 2026-08-14 13:43 UTCEG score recompute
- 2026-08-13 22:00 UTCEPSS rescoreEPSS 0.4% · 33rd percentile
- 2026-08-12 13:50 UTCEPSS rescoreEPSS 0.4% · 33rd percentile
- 2026-08-11 13:42 UTCEPSS rescoreEPSS 0.4% · 32nd percentile
- 2026-08-11 00:00 UTCEPSS rescoreEPSS 0.4% · 32nd percentile
- 2026-08-09 19:19 UTCEG score recompute
- 2026-08-09 13:46 UTCEPSS rescoreEPSS 0.4% · 32nd percentile
- 2026-08-08 16:37 UTCEPSS rescoreEPSS 0.4% · 32nd percentile
- 2026-08-08 00:15 UTCEG score recompute
- 2026-08-06 13:46 UTCEPSS rescoreEPSS 0.4% · 32nd percentile
- 2026-08-06 05:29 UTCEG score recompute
- 2026-08-05 19:17 UTCEPSS rescoreEPSS 0.4% · 32nd percentile
- 2026-08-04 15:10 UTCEPSS rescoreEPSS 0.4% · 32nd percentile
- 2026-08-04 10:38 UTCEPSS rescoreEPSS 0.4% · 32nd percentile
- 2026-08-03 10:35 UTCEPSS rescoreEPSS 0.4% · 32nd percentile
- 2026-08-02 23:01 UTCEG score recompute
- 2026-08-02 02:26 UTCEPSS rescoreEPSS 0.4% · 32nd percentile
- 2026-08-01 04:15 UTCEPSS rescoreEPSS 0.4% · 32nd percentile
- 2026-07-31 21:42 UTCOSV refresh
Related CVEs(same CWE)
Frequently asked(5)
What is CVE-2026-23838?
When was the CVE record for CVE-2026-23838 published?
Is CVE-2026-23838 actively exploited?
What is the CVSS score of CVE-2026-23838?
How do I remediate CVE-2026-23838?
Dependency Blast Radius
Explore the affected products and dependency analysis for CVE-2026-23838
Is Your Infrastructure Affected by CVE-2026-23838?
EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.