Unspecified vulnerability in the NormaliseTrainConsist function in src/train_cmd.cpp in OpenTTD before 0.7.5-RC1 allows remote attackers to cause a denial of service (daemon crash) via certain game actions involving a wagon and a dual-headed engine.
Conclusion & alert: CVE-2009-4007 is rated Moderate Risk (48.3/100): CVSS Medium severity, with medium exploitation likelihood (EPSS 2.12%). Mandatory action: Review affected assets and schedule remediation.
Risk is dynamic; we continuously reassess and refresh what is shown on this page as upstream context changes.
EPSS lead: Daily EPSS estimates relative likelihood of exploitation; percentile ranks this CVE among scored vulnerabilities (higher = more severe relative rank).
| # | Date | Old EPSS score | New EPSS score | Delta (New - Old) |
|---|---|---|---|---|
| 1 | 2026-06-15 | 1.66% | 2.12% | +0.47% |
| 2 | 2025-03-30 | 2.06% | 1.66% | -0.41% |
| 3 | 2025-03-29 | — | 2.06% | — |
Full EPSS history (7 records total)
CVSS metrics for this CVE.
| Base score | Version | Severity | Vector | Exploitability | Impact | Score source |
|---|---|---|---|---|---|---|
| 5.0 | 2.0 | MEDIUM |
|
10.0 | 2.9 | [email protected] |
| vendor | priority | summary | link |
|---|---|---|---|
debian
|
not yet assigned | CVE-2009-4007 not yet assigned priority: Debian including 1 source packages (openttd), 5 status rows across 5 suites (bookworm, bullseye, forky, sid, trixie): resolved 5. | https://security-tracker.debian.org/tracker/CVE-2009-4007 |
ubuntu
|
low | CVE-2009-4007 low priority: Ubuntu including 1 source packages (openttd), 10 status rows across 10 suites (dapper, hardy, intrepid, jaunty, karmic, lucid, maverick, natty, oneiric, upstream): ignored 4, not-affected 4, DNE 1, released 1. | https://ubuntu.com/security/CVE-2009-4007 |
| Vendor | Product | Version | Raw CPE |
|---|---|---|---|
| openttd | openttd | <= 0.7.4 | cpe:2.3:a:openttd:openttd:*:*:*:*:*:*:*:* |
| openttd | openttd | 0.1.1 | cpe:2.3:a:openttd:openttd:0.1.1:*:*:*:*:*:*:* |
| openttd | openttd | 0.1.2 | cpe:2.3:a:openttd:openttd:0.1.2:*:*:*:*:*:*:* |
| openttd | openttd | 0.1.3 | cpe:2.3:a:openttd:openttd:0.1.3:*:*:*:*:*:*:* |
| openttd | openttd | 0.1.4 | cpe:2.3:a:openttd:openttd:0.1.4:*:*:*:*:*:*:* |
| openttd | openttd | 0.2.0 | cpe:2.3:a:openttd:openttd:0.2.0:*:*:*:*:*:*:* |
| openttd | openttd | 0.2.1 | cpe:2.3:a:openttd:openttd:0.2.1:*:*:*:*:*:*:* |
| openttd | openttd | 0.3.0 | cpe:2.3:a:openttd:openttd:0.3.0:*:*:*:*:*:*:* |
| openttd | openttd | 0.3.1 | cpe:2.3:a:openttd:openttd:0.3.1:*:*:*:*:*:*:* |
| openttd | openttd | 0.3.2 | cpe:2.3:a:openttd:openttd:0.3.2:*:*:*:*:*:*:* |
| openttd | openttd | 0.3.2.1 | cpe:2.3:a:openttd:openttd:0.3.2.1:*:*:*:*:*:*:* |
| openttd | openttd | 0.3.3 | cpe:2.3:a:openttd:openttd:0.3.3:*:*:*:*:*:*:* |
| openttd | openttd | 0.3.4 | cpe:2.3:a:openttd:openttd:0.3.4:*:*:*:*:*:*:* |
| openttd | openttd | 0.3.5 | cpe:2.3:a:openttd:openttd:0.3.5:*:*:*:*:*:*:* |
| openttd | openttd | 0.3.6 | cpe:2.3:a:openttd:openttd:0.3.6:*:*:*:*:*:*:* |
| openttd | openttd | 0.3.7 | cpe:2.3:a:openttd:openttd:0.3.7:*:*:*:*:*:*:* |
| openttd | openttd | 0.4.0 | cpe:2.3:a:openttd:openttd:0.4.0:*:*:*:*:*:*:* |
| openttd | openttd | 0.4.0.1 | cpe:2.3:a:openttd:openttd:0.4.0.1:*:*:*:*:*:*:* |
| openttd | openttd | 0.4.5 | cpe:2.3:a:openttd:openttd:0.4.5:*:*:*:*:*:*:* |
| openttd | openttd | 0.4.6 | cpe:2.3:a:openttd:openttd:0.4.6:*:*:*:*:*:*:* |
| openttd | openttd | 0.4.7 | cpe:2.3:a:openttd:openttd:0.4.7:*:*:*:*:*:*:* |
| openttd | openttd | 0.4.8 | cpe:2.3:a:openttd:openttd:0.4.8:*:*:*:*:*:*:* |
| openttd | openttd | 0.4.8 | cpe:2.3:a:openttd:openttd:0.4.8:rc1:*:*:*:*:*:* |
| openttd | openttd | 0.4.8 | cpe:2.3:a:openttd:openttd:0.4.8:rc2:*:*:*:*:*:* |
| openttd | openttd | 0.5.0 | cpe:2.3:a:openttd:openttd:0.5.0:*:*:*:*:*:*:* |
| openttd | openttd | 0.5.0 | cpe:2.3:a:openttd:openttd:0.5.0:rc1:*:*:*:*:*:* |
| openttd | openttd | 0.5.0 | cpe:2.3:a:openttd:openttd:0.5.0:rc2:*:*:*:*:*:* |
| openttd | openttd | 0.5.0 | cpe:2.3:a:openttd:openttd:0.5.0:rc3:*:*:*:*:*:* |
| openttd | openttd | 0.5.0 | cpe:2.3:a:openttd:openttd:0.5.0:rc4:*:*:*:*:*:* |
| openttd | openttd | 0.5.0 | cpe:2.3:a:openttd:openttd:0.5.0:rc5:*:*:*:*:*:* |
| openttd | openttd | 0.5.1 | cpe:2.3:a:openttd:openttd:0.5.1:*:*:*:*:*:*:* |
| openttd | openttd | 0.5.1 | cpe:2.3:a:openttd:openttd:0.5.1:rc1:*:*:*:*:*:* |
| openttd | openttd | 0.5.1 | cpe:2.3:a:openttd:openttd:0.5.1:rc2:*:*:*:*:*:* |
| openttd | openttd | 0.5.1 | cpe:2.3:a:openttd:openttd:0.5.1:rc3:*:*:*:*:*:* |
| openttd | openttd | 0.5.2 | cpe:2.3:a:openttd:openttd:0.5.2:*:*:*:*:*:*:* |
| openttd | openttd | 0.5.2 | cpe:2.3:a:openttd:openttd:0.5.2:rc1:*:*:*:*:*:* |
| openttd | openttd | 0.5.3 | cpe:2.3:a:openttd:openttd:0.5.3:*:*:*:*:*:*:* |
| openttd | openttd | 0.5.3 | cpe:2.3:a:openttd:openttd:0.5.3:rc1:*:*:*:*:*:* |
| openttd | openttd | 0.5.3 | cpe:2.3:a:openttd:openttd:0.5.3:rc2:*:*:*:*:*:* |
| openttd | openttd | 0.5.3 | cpe:2.3:a:openttd:openttd:0.5.3:rc3:*:*:*:*:*:* |
| openttd | openttd | 0.6.0 | cpe:2.3:a:openttd:openttd:0.6.0:*:*:*:*:*:*:* |
| openttd | openttd | 0.6.0 | cpe:2.3:a:openttd:openttd:0.6.0:beta1:*:*:*:*:*:* |
| openttd | openttd | 0.6.0 | cpe:2.3:a:openttd:openttd:0.6.0:beta2:*:*:*:*:*:* |
| openttd | openttd | 0.6.0 | cpe:2.3:a:openttd:openttd:0.6.0:beta3:*:*:*:*:*:* |
| openttd | openttd | 0.6.0 | cpe:2.3:a:openttd:openttd:0.6.0:beta4:*:*:*:*:*:* |
| openttd | openttd | 0.6.0 | cpe:2.3:a:openttd:openttd:0.6.0:beta5:*:*:*:*:*:* |
| openttd | openttd | 0.6.0 | cpe:2.3:a:openttd:openttd:0.6.0:rc1:*:*:*:*:*:* |
| openttd | openttd | 0.6.1 | cpe:2.3:a:openttd:openttd:0.6.1:*:*:*:*:*:*:* |
| openttd | openttd | 0.6.1 | cpe:2.3:a:openttd:openttd:0.6.1:rc1:*:*:*:*:*:* |
| openttd | openttd | 0.6.1 | cpe:2.3:a:openttd:openttd:0.6.1:rc2:*:*:*:*:*:* |
| openttd | openttd | 0.6.2 | cpe:2.3:a:openttd:openttd:0.6.2:rc1:*:*:*:*:*:* |
| openttd | openttd | 0.6.2 | cpe:2.3:a:openttd:openttd:0.6.2:rc2:*:*:*:*:*:* |