CraftBeerPi 4 allows arbitrary code execution
URL GET parameter "logtime" utilized within the "downloadlog" function from "cbpi/http_endpoints/http_system.py" is subsequently passed to the "os.system" function in "cbpi/controller/system_controller.py" without prior validation allowing arbitrary code execution. This issue affects CraftBeerPi 4: from 4.0.0.58 (commit 563fae9) before 4.4.1.a1 (commit 57572c7).
- Products
- cbpi4
- Affected versions
- 4.0.5, 4.0.5a13, 4.0.5a14, 4.0.5a15, 4.0.5a16, 4.0.6, 4.0.7, 4.0.7rc1, 4.0.7rc3, 4.1.0, 4.1.0a2, 4.1.0a3, 4.1.0rc1, 4.1.0rc2, 4.1.0rc5, 4.1.0rc8, 4.1.10, 4.1.10rc2, 4.1.11, 4.1.2, 4.1.6, 4.1.7, 4.1.7rc1, 4.2.0, 4.2.0a6, 4.2.0rc1, 4.3.0, 4.3.1, 4.3.2, 4.4.0
- Fixed versions
- 4.4.1.a1
- CVEs
- CVE-2024-3955
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 1 Nov 2026, 18:46 UTC · Revision 1
Source evidence
CraftBeerPi 4 allows arbitrary code execution
core-osv · Original sourcePublished 2 May 2024, 12:30 UTC
URL GET parameter "logtime" utilized within the "downloadlog" function from "cbpi/http_endpoints/http_system.py" is subsequently passed to the "os.system" function in "cbpi/controller/system_controller.py" without prior validation allowing arbitrary code execution. This issue affects CraftBeerPi 4: from 4.0.0.58 (commit 563fae9) before 4.4.1.a1 (commit 57572c7).
osv:GHSA-4f92-w438-f484
cbpi4
Fixed versions: 4.4.1.a1
Complete source record
{
"id": "47da5fc53d299c2ba004347086d8b3998cff355cef0b1c55b8fab08bab954b18",
"url": "https://osv.dev/vulnerability/GHSA-4f92-w438-f484",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "CraftBeerPi 4 allows arbitrary code execution",
"summary": "URL GET parameter \"logtime\" utilized within the \"downloadlog\" function from \"cbpi/http_endpoints/http_system.py\" is subsequently passed to the \"os.system\" function in \"cbpi/controller/system_controller.py\" without prior validation allowing arbitrary code execution. This issue affects CraftBeerPi 4: from 4.0.0.58 (commit 563fae9) before 4.4.1.a1 (commit 57572c7).",
"evidence": "osv:GHSA-4f92-w438-f484",
"products": [
{
"name": {
"value": "cbpi4",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "4.4.1.a1",
"evidence": "/affected/0/ranges"
}
],
"affected_versions": [
{
"value": "4.0.5",
"evidence": "/affected/0/versions"
},
{
"value": "4.0.5a13",
"evidence": "/affected/0/versions"
},
{
"value": "4.0.5a14",
"evidence": "/affected/0/versions"
},
{
"value": "4.0.5a15",
"evidence": "/affected/0/versions"
},
{
"value": "4.0.5a16",
"evidence": "/affected/0/versions"
},
{
"value": "4.0.6",
"evidence": "/affected/0/versions"
},
{
"value": "4.0.7",
"evidence": "/affected/0/versions"
},
{
"value": "4.0.7rc1",
"evidence": "/affected/0/versions"
},
{
"value": "4.0.7rc3",
"evidence": "/affected/0/versions"
},
{
"value": "4.1.0",
"evidence": "/affected/0/versions"
},
{
"value": "4.1.0a2",
"evidence": "/affected/0/versions"
},
{
"value": "4.1.0a3",
"evidence": "/affected/0/versions"
},
{
"value": "4.1.0rc1",
"evidence": "/affected/0/versions"
},
{
"value": "4.1.0rc2",
"evidence": "/affected/0/versions"
},
{
"value": "4.1.0rc5",
"evidence": "/affected/0/versions"
},
{
"value": "4.1.0rc8",
"evidence": "/affected/0/versions"
},
{
"value": "4.1.10",
"evidence": "/affected/0/versions"
},
{
"value": "4.1.10rc2",
"evidence": "/affected/0/versions"
},
{
"value": "4.1.11",
"evidence": "/affected/0/versions"
},
{
"value": "4.1.2",
"evidence": "/affected/0/versions"
},
{
"value": "4.1.6",
"evidence": "/affected/0/versions"
},
{
"value": "4.1.7",
"evidence": "/affected/0/versions"
},
{
"value": "4.1.7rc1",
"evidence": "/affected/0/versions"
},
{
"value": "4.2.0",
"evidence": "/affected/0/versions"
},
{
"value": "4.2.0a6",
"evidence": "/affected/0/versions"
},
{
"value": "4.2.0rc1",
"evidence": "/affected/0/versions"
},
{
"value": "4.3.0",
"evidence": "/affected/0/versions"
},
{
"value": "4.3.1",
"evidence": "/affected/0/versions"
},
{
"value": "4.3.2",
"evidence": "/affected/0/versions"
},
{
"value": "4.4.0",
"evidence": "/affected/0/versions"
}
]
}
],
"severity": "critical",
"structured": {
"id": "GHSA-4f92-w438-f484",
"aliases": [
"CVE-2024-3955",
"GHSA-4f92-w438-f484",
"PYSEC-2026-308"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
}
],
"affected": [
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "4.0.0.58"
},
{
"fixed": "4.4.1.a1"
}
]
}
],
"package": {
"name": "cbpi4",
"purl": "pkg:pypi/cbpi4",
"ecosystem": "PyPI"
},
"versions": [
"4.0.5",
"4.0.5a13",
"4.0.5a14",
"4.0.5a15",
"4.0.5a16",
"4.0.6",
"4.0.7",
"4.0.7rc1",
"4.0.7rc3",
"4.1.0",
"4.1.0a2",
"4.1.0a3",
"4.1.0rc1",
"4.1.0rc2",
"4.1.0rc5",
"4.1.0rc8",
"4.1.10",
"4.1.10rc2",
"4.1.11",
"4.1.2",
"4.1.6",
"4.1.7",
"4.1.7rc1",
"4.2.0",
"4.2.0a6",
"4.2.0rc1",
"4.3.0",
"4.3.1",
"4.3.2",
"4.4.0"
],
"database_specific": {
"source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2024/05/GHSA-4f92-w438-f484/GHSA-4f92-w438-f484.json"
}
}
],
"modified": "2026-10-27T16:30:06.791472908Z",
"provider": "osv",
"references": [
"https://nvd.nist.gov/vuln/detail/CVE-2024-3955",
"https://github.com/PiBrewing/craftbeerpi4/issues/132",
"https://cert.pl/en/posts/2024/05/CVE-2024-3955",
"https://cert.pl/posts/2024/05/CVE-2024-3955",
"https://github.com/PiBrewing/craftbeerpi4",
"https://github.com/pypa/advisory-database/tree/main/vulns/cbpi4/PYSEC-2026-308.yaml",
"https://pypi.org/project/cbpi4"
],
"provider_metadata": {
"cwe_ids": [
"CWE-94"
],
"severity": "CRITICAL",
"github_reviewed": true,
"nvd_published_at": "2024-05-02T10:15:08Z",
"github_reviewed_at": "2024-07-05T20:04:18Z"
}
},
"related_cves": [
{
"value": "CVE-2024-3955",
"evidence": "/aliases"
}
],
"security_relevant": true,
"severity_evidence": "/database_specific/severity"
},
"source_id": "core-osv",
"document_id": 462872,
"published_at": "2024-05-02T12:30:40+00:00"
}