Non-MFA account takeover via using only SSH public key to login in jumpserver
JumpServer is an open source bastion host. As an unauthenticated user, it is possible to authenticate to the core API with a username and an SSH public key without needing a password or the corresponding SSH private key. An SSH public key should be considered public knowledge and should not used as an authentication secret alone. JumpServer provides an API for the KoKo component to validate user private key logins. This API does not verify the source of requests and will generate a personal authentication token. Given that public keys can be easily leaked, an attacker can exploit the leaked public key and username to authenticate, subsequently gaining access to the current user's information and authorized actions. This issue has been addressed in versions 2.28.20 and 3.7.1. Users are advised to upgrade. There are no known workarounds for this vulnerability.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2023-43652
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 4 Nov 2026, 17:02 UTC · Revision 1
Source evidence
Non-MFA account takeover via using only SSH public key to login in jumpserver
core-osv · Original sourcePublished 27 Sept 2023, 18:31 UTC
JumpServer is an open source bastion host. As an unauthenticated user, it is possible to authenticate to the core API with a username and an SSH public key without needing a password or the corresponding SSH private key. An SSH public key should be considered public knowledge and should not used as an authentication secret alone. JumpServer provides an API for the KoKo component to validate user private key logins. This API does not verify the source of requests and will generate a personal authentication token. Given that public keys can be easily leaked, an attacker can exploit the leaked public key and username to authenticate, subsequently gaining access to the current user's information and authorized actions. This issue has been addressed in versions 2.28.20 and 3.7.1. Users are advised to upgrade. There are no known workarounds for this vulnerability.
osv:CVE-2023-43652
Complete source record
{
"id": "5d84ac496015ef61e791b6807985c38ad6af2ee340b7f2438700325c2646ba3c",
"url": "https://osv.dev/vulnerability/CVE-2023-43652",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Non-MFA account takeover via using only SSH public key to login in jumpserver",
"summary": "JumpServer is an open source bastion host. As an unauthenticated user, it is possible to authenticate to the core API with a username and an SSH public key without needing a password or the corresponding SSH private key. An SSH public key should be considered public knowledge and should not used as an authentication secret alone. JumpServer provides an API for the KoKo component to validate user private key logins. This API does not verify the source of requests and will generate a personal authentication token. Given that public keys can be easily leaked, an attacker can exploit the leaked public key and username to authenticate, subsequently gaining access to the current user's information and authorized actions. This issue has been addressed in versions 2.28.20 and 3.7.1. Users are advised to upgrade. There are no known workarounds for this vulnerability.",
"evidence": "osv:CVE-2023-43652",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2023-43652",
"aliases": [
"CVE-2023-43652",
"GHSA-fr8h-xh5x-r8g9"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/jumpserver/jumpserver",
"type": "GIT",
"events": [
{
"introduced": "92fc0ceb1632b55e62a10a6aa8fcc6ecc7153cb0"
},
{
"fixed": "c28cca7ca20025d4793a7db9295280ca56841399"
},
{
"introduced": "7d3eb8c75d7edeb1cca3da25ae435acf678c4f69"
},
{
"fixed": "e75da94fc15a05e254132014b67be25c32c0cdc2"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:fit2cloud:jumpserver:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "2.0.0"
},
{
"fixed": "2.28.20"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:fit2cloud:jumpserver:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "3.0.0"
},
{
"fixed": "3.7.1"
}
],
"source": "CPE_RANGE"
}
]
}
}
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-43652.json"
}
}
],
"modified": "2026-10-28T02:30:38.151220737Z",
"provider": "osv",
"references": [
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/43xxx/CVE-2023-43652.json",
"https://github.com/jumpserver/jumpserver/security/advisories/GHSA-fr8h-xh5x-r8g9",
"https://nvd.nist.gov/vuln/detail/CVE-2023-43652",
"https://www.sonarsource.com/blog/diving-into-jumpserver-attackers-gateway-to-internal-networks-1-2"
],
"provider_metadata": {
"cwe_ids": [
"CWE-862"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/43xxx/CVE-2023-43652.json"
}
},
"related_cves": [
{
"value": "CVE-2023-43652",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 505101,
"published_at": "2023-09-27T18:31:41.32+00:00"
}