Security advisory
message_bus is a messaging bus for Ruby processes and web clients. In versions prior to 3.3.7 users who deployed message bus with diagnostics features enabled (default off) are vulnerable to a path traversal bug, which could lead to disclosure of secret information on a machine if an unintended user were to gain access to the diagnostic route. The impact is also greater if there is no proxy for your web application as the number of steps up the directories is not bounded. For deployments which uses a proxy, the impact varies. For example, If a request goes through a proxy like Nginx with `merge_slashes` enabled, the number of steps up the directories that can be read is limited to 3 levels. This issue has been patched in version 3.3.7. Users unable to upgrade should ensure that MessageBus::Diagnostics is disabled.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2021-43840
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 12:01 UTC · Revision 1
Source evidence
message_bus is a messaging bus for Ruby processes and web clients. In versions prior to 3.3.7 users who deployed message bus with diagnostics features enabled (default off) are vulnerable to a path traversal bug, which could lead to disclosure of secret information on a machine if an unintended user were to gain access to the diagnostic route. The impact is also greater if there is no proxy for your web application as the number of steps up the directories is not bounded. For deployments which uses a proxy, the impact varies. For example, If a request goes through a proxy like Nginx with `merge_slashes` enabled, the number of steps up the directories that can be read is limited to 3 levels. This issue has been patched in version 3.3.7. Users unable to upgrade should ensure that MessageBus::Diagnostics is disabled.
osv:CVE-2021-43840
Complete source record
{
"id": "a4df1c434af55466fb922b5c814d1146ecf9aeb8d4e7d1fd65a70b21588e56b4",
"url": "https://osv.dev/vulnerability/CVE-2021-43840",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "CVE-2021-43840",
"summary": "message_bus is a messaging bus for Ruby processes and web clients. In versions prior to 3.3.7 users who deployed message bus with diagnostics features enabled (default off) are vulnerable to a path traversal bug, which could lead to disclosure of secret information on a machine if an unintended user were to gain access to the diagnostic route. The impact is also greater if there is no proxy for your web application as the number of steps up the directories is not bounded. For deployments which uses a proxy, the impact varies. For example, If a request goes through a proxy like Nginx with `merge_slashes` enabled, the number of steps up the directories that can be read is limited to 3 levels. This issue has been patched in version 3.3.7. Users unable to upgrade should ensure that MessageBus::Diagnostics is disabled.",
"evidence": "osv:CVE-2021-43840",
"products": [],
"severity": "medium",
"structured": {
"id": "CVE-2021-43840",
"aliases": [
"CVE-2021-43840",
"GHSA-xmgj-5fh3-xjmm"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/discourse/message_bus",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "9b6deee01ed474c7e9b5ff65a06bb0447b4db2ba"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"fixed": "9b6deee01ed474c7e9b5ff65a06bb0447b4db2ba"
}
],
"source": "REFERENCES_COMMIT"
}
]
}
}
],
"versions": [
"v3.3.6",
"v3.3.5",
"v3.3.4",
"v3.3.3",
"v3.3.2",
"v3.3.1",
"v3.2.0",
"v3.1.0",
"v3.0.0",
"v2.2.4",
"v2.2.3",
"v2.2.2",
"v2.2.1",
"v2.2.0.pre.2",
"v2.2.0.pre.1",
"v2.2.0.pre",
"v2.1.6",
"v2.1.5",
"v2.1.4",
"v2.1.3",
"v2.1.2",
"v2.1.1",
"v2.1.0",
"v2.0.9",
"v2.0.8",
"v2.0.7",
"v2.0.6",
"v2.0.5",
"v2.0.3",
"v2.0.2",
"v2.0.1",
"v2.0.0",
"v2.0.0.beta.11",
"v2.0.0.beta.10",
"v2.0.0.beta.9",
"v2.0.0.beta.8",
"v2.0.0.beta.7",
"v2.0.0.beta.6",
"v2.0.0.beta.5",
"v2.0.0.beta.4",
"v2.0.0.beta.3",
"v2.0.0.beta.2",
"v2.0.0.beta.1",
"v1.1.1",
"v1.1.0",
"v1.0.16",
"v1.0.15",
"v1.0.14",
"v1.0.13",
"v1.0.12",
"v1.0.11",
"v1.0.10",
"v1.0.9",
"v1.0.8",
"v1.0.7",
"v1.0.6",
"1.0.5",
"1.0.4",
"1.0.3",
"1.0.1",
"1.0.0",
"0.9.6",
"0.9.5",
"v0.9.3.2"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2021-43840.json"
}
}
],
"modified": "2026-10-20T10:55:05.079239751Z",
"provider": "osv",
"references": [
"https://github.com/discourse/message_bus/security/advisories/GHSA-xmgj-5fh3-xjmm",
"https://github.com/discourse/message_bus/commit/9b6deee01ed474c7e9b5ff65a06bb0447b4db2ba"
],
"provider_metadata": {
"unresolved_ranges": [
{
"cpes": [
"cpe:2.3:a:discourse:message_bus:*:*:*:*:*:ruby:*:*"
],
"vendor_product": "discourse:message_bus",
"extracted_events": [
{
"range": [
{
"fixed": "3.3.7"
}
],
"source": "CPE_RANGE"
}
]
},
{
"extracted_events": [
{
"range": [
{
"fixed": "3.3.7"
},
{
"fixed": "3.3.7"
}
],
"source": "DESCRIPTION"
}
]
}
]
}
},
"related_cves": [
{
"value": "CVE-2021-43840",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 386852,
"published_at": "2021-12-17T19:15:07.757+00:00"
}