GHSA-MPGR-2CX9-327H
Vulnerability from github – Published: 2020-06-11 21:09 – Updated: 2021-01-08 20:12Impact
What kind of vulnerability is it? Who is impacted?
Servers running SSB-DB 20.0.0 (which is packaged with SSB-Server 16.0.0) must upgrade immediately.
There is no evidence that other SSB apps are vulnerable or that this problem has been exploited in the wild.
The get() method is supposed to only decrypt messages when you explicitly ask it to, but there's a bug where it's decrypting any message that it can. This means that it's returning the decrypted content of private messages, which a malicious peer could use to get access to private data. This only affects peers running SSB-DB@20.0.0 who also have private messages, and is only known to be exploitable if you're also running SSB-OOO (default in SSB-Server), which exposes a thin wrapper around get() to anonymous peers.
Patches
Has the problem been patched? What versions should users upgrade to?
Yes, please upgrade to SSB-DB 20.0.1 (or SSB-Server 16.0.1) immediately.
Workarounds
Is there a way for users to fix or remediate the vulnerability without upgrading?
You may be able to disable the most obvious attack vector, SSB-OOO, by disabling the plugin, but you should upgrade immediately anyway.
For more information
If you have any questions or comments about this advisory, open an issue in SSB-DB
{
"affected": [
{
"package": {
"ecosystem": "npm",
"name": "ssb-db"
},
"ranges": [
{
"events": [
{
"introduced": "20.0.0"
},
{
"fixed": "20.0.1"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"20.0.0"
]
}
],
"aliases": [
"CVE-2020-4045"
],
"database_specific": {
"cwe_ids": [
"CWE-200"
],
"github_reviewed": true,
"github_reviewed_at": "2020-06-11T21:08:42Z",
"nvd_published_at": null,
"severity": "HIGH"
},
"details": "### Impact\n_What kind of vulnerability is it? Who is impacted?_\n\nServers running SSB-DB 20.0.0 (which is packaged with SSB-Server 16.0.0) must upgrade immediately.\n\n**There is no evidence that other SSB apps are vulnerable or that this problem has been exploited in the wild.**\n\nThe `get()` method is supposed to only decrypt messages when you explicitly ask it to, but there\u0027s a bug where it\u0027s decrypting any message that it can. This means that it\u0027s returning the decrypted content of private messages, which a malicious peer could use to get access to private data. This only affects peers running SSB-DB@20.0.0 who also have private messages, and is only known to be exploitable if you\u0027re also running SSB-OOO (default in SSB-Server), which exposes a thin wrapper around `get()` to anonymous peers.\n\n### Patches\n_Has the problem been patched? What versions should users upgrade to?_\n\nYes, please upgrade to SSB-DB 20.0.1 (or SSB-Server 16.0.1) immediately.\n\n### Workarounds\n_Is there a way for users to fix or remediate the vulnerability without upgrading?_\n\nYou may be able to disable the most obvious attack vector, SSB-OOO, by disabling the plugin, but you should upgrade immediately anyway.\n\n### For more information\n\nIf you have any questions or comments about this advisory, open an issue in [SSB-DB](https://github.com/ssbc/ssb-db/)",
"id": "GHSA-mpgr-2cx9-327h",
"modified": "2021-01-08T20:12:11Z",
"published": "2020-06-11T21:09:04Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/ssbc/ssb-db/security/advisories/GHSA-mpgr-2cx9-327h"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2020-4045"
},
{
"type": "WEB",
"url": "https://github.com/ssbc/ssb-db/commit/43334d0871c9cc6220e0f6d6338499060f7761d4"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N",
"type": "CVSS_V3"
}
],
"summary": "Information disclosure in SSB-DB"
}
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.