CWE-295
AllowedImproper Certificate Validation
Abstraction: Base · Status: Draft
The product does not validate, or incorrectly validates, a certificate.
1913 vulnerabilities reference this CWE, most recent first.
GHSA-8HFJ-XRJ2-PM22
Vulnerability from github – Published: 2021-08-25 20:54 – Updated: 2023-08-04 18:38The X509_V_FLAG_X509_STRICT flag enables additional security checks of the certificates present in a certificate chain. It is not set by default. Starting from OpenSSL version 1.1.1h a check to disallow certificates in the chain that have explicitly encoded elliptic curve parameters was added as an additional strict check. An error in the implementation of this check meant that the result of a previous check to confirm that certificates in the chain are valid CA certificates was overwritten. This effectively bypasses the check that non-CA certificates must not be able to issue other certificates. If a "purpose" has been configured then there is a subsequent opportunity for checks that the certificate is a valid CA. All of the named "purpose" values implemented in libcrypto perform this check. Therefore, where a purpose is set the certificate chain will still be rejected even when the strict flag has been used. A purpose is set by default in libssl client and server certificate verification routines, but it can be overridden or removed by an application. In order to be affected, an application must explicitly set the X509_V_FLAG_X509_STRICT verification flag and either not set a purpose for the certificate verification or, in the case of TLS client or server applications, override the default purpose. OpenSSL versions 1.1.1h and newer are affected by this issue. Users of these versions should upgrade to OpenSSL 1.1.1k. OpenSSL 1.0.2 is not impacted by this issue. Fixed in OpenSSL 1.1.1k (Affected 1.1.1h-1.1.1j).
{
"affected": [
{
"package": {
"ecosystem": "crates.io",
"name": "openssl-src"
},
"ranges": [
{
"events": [
{
"introduced": "111.11.0"
},
{
"fixed": "111.15.0"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2021-3450"
],
"database_specific": {
"cwe_ids": [
"CWE-295"
],
"github_reviewed": true,
"github_reviewed_at": "2021-08-19T17:22:00Z",
"nvd_published_at": "2021-03-25T15:15:00Z",
"severity": "HIGH"
},
"details": "The X509_V_FLAG_X509_STRICT flag enables additional security checks of the certificates present in a certificate chain. It is not set by default. Starting from OpenSSL version 1.1.1h a check to disallow certificates in the chain that have explicitly encoded elliptic curve parameters was added as an additional strict check. An error in the implementation of this check meant that the result of a previous check to confirm that certificates in the chain are valid CA certificates was overwritten. This effectively bypasses the check that non-CA certificates must not be able to issue other certificates. If a \"purpose\" has been configured then there is a subsequent opportunity for checks that the certificate is a valid CA. All of the named \"purpose\" values implemented in libcrypto perform this check. Therefore, where a purpose is set the certificate chain will still be rejected even when the strict flag has been used. A purpose is set by default in libssl client and server certificate verification routines, but it can be overridden or removed by an application. In order to be affected, an application must explicitly set the X509_V_FLAG_X509_STRICT verification flag and either not set a purpose for the certificate verification or, in the case of TLS client or server applications, override the default purpose. OpenSSL versions 1.1.1h and newer are affected by this issue. Users of these versions should upgrade to OpenSSL 1.1.1k. OpenSSL 1.0.2 is not impacted by this issue. Fixed in OpenSSL 1.1.1k (Affected 1.1.1h-1.1.1j).",
"id": "GHSA-8hfj-xrj2-pm22",
"modified": "2023-08-04T18:38:54Z",
"published": "2021-08-25T20:54:00Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-3450"
},
{
"type": "WEB",
"url": "https://www.tenable.com/security/tns-2021-09"
},
{
"type": "WEB",
"url": "https://www.tenable.com/security/tns-2021-08"
},
{
"type": "WEB",
"url": "https://www.tenable.com/security/tns-2021-05"
},
{
"type": "WEB",
"url": "https://www.oracle.com/security-alerts/cpuoct2021.html"
},
{
"type": "WEB",
"url": "https://www.oracle.com/security-alerts/cpujul2022.html"
},
{
"type": "WEB",
"url": "https://www.oracle.com/security-alerts/cpuapr2022.html"
},
{
"type": "WEB",
"url": "https://www.oracle.com/security-alerts/cpuApr2021.html"
},
{
"type": "WEB",
"url": "https://www.oracle.com//security-alerts/cpujul2021.html"
},
{
"type": "WEB",
"url": "https://www.openssl.org/news/secadv/20210325.txt"
},
{
"type": "WEB",
"url": "https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-openssl-2021-GHY28dJd"
},
{
"type": "WEB",
"url": "https://security.netapp.com/advisory/ntap-20210326-0006"
},
{
"type": "WEB",
"url": "https://security.gentoo.org/glsa/202103-03"
},
{
"type": "WEB",
"url": "https://security.FreeBSD.org/advisories/FreeBSD-SA-21:07.openssl.asc"
},
{
"type": "WEB",
"url": "https://rustsec.org/advisories/RUSTSEC-2021-0056.html"
},
{
"type": "WEB",
"url": "https://psirt.global.sonicwall.com/vuln-detail/SNWLID-2021-0013"
},
{
"type": "WEB",
"url": "https://mta.openssl.org/pipermail/openssl-announce/2021-March/000198.html"
},
{
"type": "WEB",
"url": "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/CCBFLLVQVILIVGZMBJL3IXZGKWQISYNP"
},
{
"type": "WEB",
"url": "https://kc.mcafee.com/corporate/index?page=content\u0026id=SB10356"
},
{
"type": "WEB",
"url": "https://kb.pulsesecure.net/articles/Pulse_Security_Advisories/SA44845"
},
{
"type": "PACKAGE",
"url": "https://github.com/alexcrichton/openssl-src-rs"
},
{
"type": "WEB",
"url": "https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=2a40b7bc7b94dd7de897a74571e7024f0cf0d63b"
},
{
"type": "WEB",
"url": "https://cert-portal.siemens.com/productcert/pdf/ssa-389290.pdf"
},
{
"type": "WEB",
"url": "http://www.openwall.com/lists/oss-security/2021/03/27/1"
},
{
"type": "WEB",
"url": "http://www.openwall.com/lists/oss-security/2021/03/27/2"
},
{
"type": "WEB",
"url": "http://www.openwall.com/lists/oss-security/2021/03/28/3"
},
{
"type": "WEB",
"url": "http://www.openwall.com/lists/oss-security/2021/03/28/4"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N",
"type": "CVSS_V3"
}
],
"summary": "Certificate check bypass in openssl-src"
}
GHSA-8HHF-PC74-44FJ
Vulnerability from github – Published: 2025-09-12 06:30 – Updated: 2025-09-12 06:30WTW-EAGLE App does not properly validate server certificates, which may allow a man-in-the-middle attacker to monitor encrypted traffic.
{
"affected": [],
"aliases": [
"CVE-2025-58781"
],
"database_specific": {
"cwe_ids": [
"CWE-295"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2025-09-12T06:15:42Z",
"severity": "MODERATE"
},
"details": "WTW-EAGLE App does not properly validate server certificates, which may allow a man-in-the-middle attacker to monitor encrypted traffic.",
"id": "GHSA-8hhf-pc74-44fj",
"modified": "2025-09-12T06:30:26Z",
"published": "2025-09-12T06:30:26Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2025-58781"
},
{
"type": "WEB",
"url": "https://apps.apple.com/jp/app/wtw-eagle/id1365998037?uo=4"
},
{
"type": "WEB",
"url": "https://jvn.jp/en/jp/JVN89109713"
},
{
"type": "WEB",
"url": "https://play.google.com/store/apps/details?id=com.generalcomp.wtw"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N",
"type": "CVSS_V3"
},
{
"score": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
"type": "CVSS_V4"
}
]
}
GHSA-8HRQ-VV4F-QVXR
Vulnerability from github – Published: 2025-06-20 15:30 – Updated: 2025-06-20 15:30An issue was discovered on COROS PACE 3 devices through 3.0808.0. It implements a function to connect the watch to a WLAN. This function is mainly for downloading firmware files. Before downloading firmware files, the watch requests some information about the firmware via HTTPS from the back-end API. However, the X.509 server certificate within the TLS handshake is not validated by the device. This allows an attacker within an active machine-in-the-middle position, using a TLS proxy and a self-signed certificate, to eavesdrop and manipulate the HTTPS communication. This could be abused, for example, for stealing the API access token of the assigned user account.
{
"affected": [],
"aliases": [
"CVE-2025-32878"
],
"database_specific": {
"cwe_ids": [
"CWE-295"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2025-06-20T14:15:28Z",
"severity": "CRITICAL"
},
"details": "An issue was discovered on COROS PACE 3 devices through 3.0808.0. It implements a function to connect the watch to a WLAN. This function is mainly for downloading firmware files. Before downloading firmware files, the watch requests some information about the firmware via HTTPS from the back-end API. However, the X.509 server certificate within the TLS handshake is not validated by the device. This allows an attacker within an active machine-in-the-middle position, using a TLS proxy and a self-signed certificate, to eavesdrop and manipulate the HTTPS communication. This could be abused, for example, for stealing the API access token of the assigned user account.",
"id": "GHSA-8hrq-vv4f-qvxr",
"modified": "2025-06-20T15:30:37Z",
"published": "2025-06-20T15:30:37Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2025-32878"
},
{
"type": "WEB",
"url": "https://support.coros.com/hc/en-us/articles/20087694119828-COROS-PACE-3-Release-Notes"
},
{
"type": "WEB",
"url": "https://syss.de"
},
{
"type": "WEB",
"url": "https://www.syss.de/fileadmin/dokumente/Publikationen/Advisories/SYSS-2025-030.txt"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
]
}
GHSA-8HWR-Q4PC-V98V
Vulnerability from github – Published: 2022-05-13 01:23 – Updated: 2022-05-13 01:23Prior to v 7.6, the Install Norton Security (INS) product can be susceptible to a certificate spoofing vulnerability, which is a type of attack whereby a maliciously procured certificate binds the public key of an attacker to the domain name of the target.
{
"affected": [],
"aliases": [
"CVE-2017-15528"
],
"database_specific": {
"cwe_ids": [
"CWE-295"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2017-11-22T18:29:00Z",
"severity": "MODERATE"
},
"details": "Prior to v 7.6, the Install Norton Security (INS) product can be susceptible to a certificate spoofing vulnerability, which is a type of attack whereby a maliciously procured certificate binds the public key of an attacker to the domain name of the target.",
"id": "GHSA-8hwr-q4pc-v98v",
"modified": "2022-05-13T01:23:49Z",
"published": "2022-05-13T01:23:49Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2017-15528"
},
{
"type": "WEB",
"url": "https://www.info-sec.ca/advisories/Norton-Security.html"
},
{
"type": "WEB",
"url": "https://www.symantec.com/security_response/securityupdates/detail.jsp?fid=security_advisory\u0026pvid=security_advisory\u0026year=\u0026suid=20171121_00"
},
{
"type": "WEB",
"url": "http://www.securityfocus.com/bid/101796"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N",
"type": "CVSS_V3"
}
]
}
GHSA-8J63-96WH-WH3J
Vulnerability from github – Published: 2025-08-01 18:10 – Updated: 2025-08-26 20:26Project Address: Project Address 1Panel
Official website: https://www.1panel.cn/
Time: 2025 07 26
Version: 1panel V2.0.5
Vulnerability Summary
- First, we introduce the concepts of 1panel v2 Core and Agent. After the new version is released, 1panel adds the node management function, which allows you to control other hosts by adding nodes.
- The HTTPS protocol used for communication between the Core and Agent sides did not fully verify the authenticity of the certificate during certificate verification, resulting in unauthorized interfaces. The presence of a large number of command execution or high-privilege interfaces in the 1panel led to RCE.
Code audit process
- First we go to the Agent HTTP routing fileagent/init/router/router.go
- It was found that the Routersreference function in the function Certificatewas globally checked.agent/middleware/certificate.go
- The discovery Certificatefunction determines c.Request.TLS.HandshakeCompletewhether certificate communication has been performed
- Since c.Request.TLS.HandshakeCompletethe true or false judgment is determined by agent/server/server.gothe code Startfunctiontls.RequireAnyClientCert
Note::Here due to the use of tls.RequireAnyClientCert instead of tls.RequireAndVerifyClientCert,RequireAnyClientCert Only require the client to provide a certificate,Does not verify the issuance of certificates CA,So any self assigned certificate will pass TLS handshake。
- The subsequent Certificatefunction only verified that the CN field of the certificate was panel_client, without verifying the certificate issuer. Finally, it was discovered that the WebSocket connection could bypass Proxy-ID verification.
- Process WebSocket interface (based on the above questions, all processes and other sensitive information can be obtained) routing address: /process/ws the request format is as follows
{
"type": "ps", // 数据类型: ps(进程), ssh(SSH会话), net(网络连接), wget(下载进度)
"pid": 123, // 可选,指定进程ID进行筛选
"name": "process_name", // 可选,根据进程名筛选
"username": "user" // 可选,根据用户名筛选
}
- Terminal SSH WebSocket interface (according to the above problem, any command can be executed) routing address: /hosts/terminal the request format is as follows
{
"type": "cmd",
"data": "d2hvYW1pCg==" // "whoami" 的base64编码,记住不要忘记回车。
}
-
Container Terminal WebSocket interface (container execution command interface) routing address:/containers/terminal
-
File Download Process WebSocket interface (automatically push download progress information) routing address:/files/wget/process
Attack process
-
First generate a fake certificate openssl req -x509 -newkey rsa:2048 -keyout panel_client.key -out panel_client.crt -days 365 -nodes -subj "/CN=panel_client"
-
Then use the certificate to request verification. If the websocket interface is successfully connected, there is a vulnerability.
{
"affected": [
{
"package": {
"ecosystem": "Go",
"name": "github.com/1Panel-dev/1Panel/core"
},
"ranges": [
{
"events": [
{
"introduced": "1.0.0"
},
{
"fixed": "2.0.6"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"package": {
"ecosystem": "Go",
"name": "github.com/1Panel-dev/1Panel/core"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "0.0.0-20250730021757-04b9cbd87a15"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2025-54424"
],
"database_specific": {
"cwe_ids": [
"CWE-295",
"CWE-77"
],
"github_reviewed": true,
"github_reviewed_at": "2025-08-01T18:10:21Z",
"nvd_published_at": "2025-08-01T23:15:24Z",
"severity": "HIGH"
},
"details": "### Project Address: Project Address [1Panel](https://github.com/1Panel-dev/1Panel)\n### Official website: https://www.1panel.cn/\n### Time: 2025 07 26\n### Version: 1panel V2.0.5\n### Vulnerability Summary\n - First, we introduce the concepts of 1panel v2 Core and Agent. After the new version is released, 1panel adds the node management function, which allows you to control other hosts by adding nodes.\n - The HTTPS protocol used for communication between the Core and Agent sides did not fully verify the authenticity of the certificate during certificate verification, resulting in unauthorized interfaces. The presence of a large number of command execution or high-privilege interfaces in the 1panel led to RCE.\n\n\n\n### Code audit process\n\n1. First we go to the Agent HTTP routing fileagent/init/router/router.go\n\n\n\n2. It was found that the Routersreference function in the function Certificatewas globally checked.agent/middleware/certificate.go\n\n\n\n3. The discovery Certificatefunction determines c.Request.TLS.HandshakeCompletewhether certificate communication has been performed\n\n\n\n4. Since c.Request.TLS.HandshakeCompletethe true or false judgment is determined by agent/server/server.gothe code Startfunctiontls.RequireAnyClientCert\n\n\n\nNote:\uff1a`Here due to the use of tls.RequireAnyClientCert instead of tls.RequireAndVerifyClientCert\uff0cRequireAnyClientCert Only require the client to provide a certificate\uff0cDoes not verify the issuance of certificates CA\uff0cSo any self assigned certificate will pass TLS handshake\u3002`\n\n5. The subsequent Certificatefunction only verified that the CN field of the certificate was panel_client, without verifying the certificate issuer. Finally, it was discovered that the WebSocket connection could bypass Proxy-ID verification.\n\n\n\n6. Process WebSocket interface (based on the above questions, all processes and other sensitive information can be obtained)\nrouting address: /process/ws\nthe request format is as follows\n```\n{\n \"type\": \"ps\", // \u6570\u636e\u7c7b\u578b: ps(\u8fdb\u7a0b), ssh(SSH\u4f1a\u8bdd), net(\u7f51\u7edc\u8fde\u63a5), wget(\u4e0b\u8f7d\u8fdb\u5ea6)\n \"pid\": 123, // \u53ef\u9009\uff0c\u6307\u5b9a\u8fdb\u7a0bID\u8fdb\u884c\u7b5b\u9009\n \"name\": \"process_name\", // \u53ef\u9009\uff0c\u6839\u636e\u8fdb\u7a0b\u540d\u7b5b\u9009\n \"username\": \"user\" // \u53ef\u9009\uff0c\u6839\u636e\u7528\u6237\u540d\u7b5b\u9009\n}\n```\n\n\n - Terminal SSH WebSocket interface (according to the above problem, any command can be executed)\nrouting address: /hosts/terminal\nthe request format is as follows\n```\n{\n \"type\": \"cmd\",\n \"data\": \"d2hvYW1pCg==\" // \"whoami\" \u7684base64\u7f16\u7801\uff0c\u8bb0\u4f4f\u4e0d\u8981\u5fd8\u8bb0\u56de\u8f66\u3002\n}\n```\n\n\n - Container Terminal WebSocket interface (container execution command interface)\nrouting address:/containers/terminal\n \n - File Download Process WebSocket interface (automatically push download progress information)\nrouting address:/files/wget/process\n\n### Attack process\n\n1. First generate a fake certificate\nopenssl req -x509 -newkey rsa:2048 -keyout panel_client.key -out panel_client.crt -days 365 -nodes -subj \"/CN=panel_client\"\n\n2. Then use the certificate to request verification. If the websocket interface is successfully connected, there is a vulnerability.\n\n\n\n",
"id": "GHSA-8j63-96wh-wh3j",
"modified": "2025-08-26T20:26:49Z",
"published": "2025-08-01T18:10:21Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/1Panel-dev/1Panel/security/advisories/GHSA-8j63-96wh-wh3j"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2025-54424"
},
{
"type": "WEB",
"url": "https://github.com/1Panel-dev/1Panel/pull/9698/commits/4003284521f8d31ddaf7215d1c30ab8b4cdb0261"
},
{
"type": "PACKAGE",
"url": "https://github.com/1Panel-dev/1Panel"
},
{
"type": "WEB",
"url": "https://github.com/1Panel-dev/1Panel/releases/tag/v2.0.6"
},
{
"type": "WEB",
"url": "https://pkg.go.dev/vuln/GO-2025-3834"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
],
"summary": "1Panel agent certificate verification bypass leading to arbitrary command execution"
}
GHSA-8J6F-944F-8JMJ
Vulnerability from github – Published: 2026-04-01 18:36 – Updated: 2026-04-01 21:30Mbed TLS v3.3.0 up to 3.6.5 and 4.0.0 allows Algorithm Downgrade.
{
"affected": [],
"aliases": [
"CVE-2026-25834"
],
"database_specific": {
"cwe_ids": [
"CWE-295"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2026-04-01T18:16:28Z",
"severity": "MODERATE"
},
"details": "Mbed TLS v3.3.0 up to 3.6.5 and 4.0.0 allows Algorithm Downgrade.",
"id": "GHSA-8j6f-944f-8jmj",
"modified": "2026-04-01T21:30:30Z",
"published": "2026-04-01T18:36:38Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-25834"
},
{
"type": "WEB",
"url": "https://mbed-tls.readthedocs.io/en/latest/security-advisories"
},
{
"type": "WEB",
"url": "https://mbed-tls.readthedocs.io/en/latest/security-advisories/mbedtls-security-advisory-2026-03-sigalg-injection"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L",
"type": "CVSS_V3"
}
]
}
GHSA-8J9G-C9RP-JVG4
Vulnerability from github – Published: 2022-05-14 03:07 – Updated: 2024-10-21 21:28Salt before 2014.7.6 does not verify certificates when connecting via the aliyun, proxmox, and splunk modules.
{
"affected": [
{
"package": {
"ecosystem": "PyPI",
"name": "salt"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "2014.7.6"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2015-4017"
],
"database_specific": {
"cwe_ids": [
"CWE-295"
],
"github_reviewed": true,
"github_reviewed_at": "2024-04-29T11:12:51Z",
"nvd_published_at": "2017-08-25T18:29:00Z",
"severity": "HIGH"
},
"details": "Salt before 2014.7.6 does not verify certificates when connecting via the `aliyun`, `proxmox`, and `splunk` modules.",
"id": "GHSA-8j9g-c9rp-jvg4",
"modified": "2024-10-21T21:28:19Z",
"published": "2022-05-14T03:07:28Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2015-4017"
},
{
"type": "WEB",
"url": "https://bugzilla.redhat.com/show_bug.cgi?id=1222960"
},
{
"type": "WEB",
"url": "https://docs.saltstack.com/en/latest/topics/releases/2014.7.6.html"
},
{
"type": "WEB",
"url": "https://github.com/pypa/advisory-database/tree/main/vulns/salt/PYSEC-2017-31.yaml"
},
{
"type": "PACKAGE",
"url": "https://github.com/saltstack/salt"
},
{
"type": "WEB",
"url": "https://groups.google.com/forum/#!topic/salt-users/8Kv1bytGD6c"
},
{
"type": "WEB",
"url": "http://www.openwall.com/lists/oss-security/2015/05/19/2"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N",
"type": "CVSS_V3"
}
],
"summary": "Salt vulnerable to Improper Certificate Validation"
}
GHSA-8JC9-JHMW-R737
Vulnerability from github – Published: 2023-07-06 19:24 – Updated: 2024-04-04 05:31A CWE-295: Improper Certificate Validation vulnerability exists that could cause the CAE software to give wrong data to end users when using CAE to configure devices. Additionally, credentials could leak which would enable an attacker the ability to log into the configuration tool and compromise other devices in the network. Affected Products: EcoStruxure™ Cybersecurity Admin Expert (CAE) (Versions prior to 2.2)
{
"affected": [],
"aliases": [
"CVE-2022-32748"
],
"database_specific": {
"cwe_ids": [
"CWE-295"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2023-01-30T23:15:00Z",
"severity": "HIGH"
},
"details": "A CWE-295: Improper Certificate Validation vulnerability exists that could cause the CAE software to give wrong data to end users when using CAE to configure devices. Additionally, credentials could leak which would enable an attacker the ability to log into the configuration tool and compromise other devices in the network. Affected Products: EcoStruxure\u2122 Cybersecurity Admin Expert (CAE) (Versions prior to 2.2)",
"id": "GHSA-8jc9-jhmw-r737",
"modified": "2024-04-04T05:31:59Z",
"published": "2023-07-06T19:24:08Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2022-32748"
},
{
"type": "WEB",
"url": "https://download.schneider-electric.com/files?p_enDocType=Security+and+Safety+Notice\u0026p_File_Name=SEVD-2022-165-08_Cybersecurity_Admin_Expert_Security_Notification.pdf"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H",
"type": "CVSS_V3"
}
]
}
GHSA-8JGF-23Q5-X7XX
Vulnerability from github – Published: 2026-06-26 22:50 – Updated: 2026-06-30 17:16Summary
ExAws.SNS.verify_message/1 fetches the signing certificate from the SigningCertURL field of the incoming SNS message without validating that the URL uses HTTPS or that its host is an AWS-owned SNS certificate domain. An unauthenticated attacker who can POST to any endpoint that calls verify_message/1 can supply an attacker-controlled SigningCertURL, sign a forged SNS message with their own RSA key, and cause the function to return :ok, completely bypassing SNS signature verification.
Details
In lib/ex_aws/sns.ex (lines 475–483), verify_message/1 performs three checks: validate_message_params/1 (confirms required fields are present), validate_signature_version/1 (confirms SignatureVersion == "1"), then signature verification. The signature step calls ExAws.SNS.PublicKeyCache.get(message["SigningCertURL"]) and passes the result to :public_key.verify/4.
Neither validate_message_params/1 nor any other step checks that SigningCertURL is an HTTPS URL or that the hostname matches the expected pattern (e.g. sns.<region>.amazonaws.com). PublicKeyCache.get/1 in lib/ex_aws/sns/public_key_cache.ex fetches whatever URL is provided and caches the certificate. The RSA signature then verifies against the attacker's own public key, and verify_message/1 returns :ok.
PoC
- Generate an RSA keypair and host the DER/PEM public certificate at any URL reachable from the target server (e.g.
http://attacker.example/cert.pem). - Build a forged
Notificationpayload with an arbitraryTopicArnandMessage, compute the canonical string-to-sign per the SNS spec, and sign it with the attacker private key. - Set
SigningCertURLto the attacker URL andSignatureto the base64-encoded signature. - POST the forged payload to any SNS webhook endpoint that calls
ExAws.SNS.verify_message/1. - The function returns
:ok; the application treats the message as authentic.
Configurations
The application must expose an HTTP endpoint that calls ExAws.SNS.verify_message/1 on incoming request bodies (the standard SNS webhook pattern).
Impact
Complete SNS signature authentication bypass. Affects ex_aws_sns from 2.0.1 through 2.3.4. Consequences include spoofing arbitrary Notification payloads, auto-confirming attacker-controlled SubscribeURL values to hijack topic delivery, and spoofing UnsubscribeConfirmation to disrupt legitimate subscriptions. No authentication or special configuration on the attacker side is required. CVSS v4.0: 8.7 (HIGH).
Resources
- Introduction commit: https://github.com/ex-aws/ex_aws_sns/commit/a7ec21880943f4dac1d59bda557db0ffcd2b61fa
- Patch commit: https://github.com/ex-aws/ex_aws_sns/commit/1853d280b152d10384a1e21a22cf22152a60be48
{
"affected": [
{
"package": {
"ecosystem": "Hex",
"name": "ex_aws_sns"
},
"ranges": [
{
"events": [
{
"introduced": "2.0.1"
},
{
"fixed": "2.3.5"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2026-47074"
],
"database_specific": {
"cwe_ids": [
"CWE-295"
],
"github_reviewed": true,
"github_reviewed_at": "2026-06-26T22:50:27Z",
"nvd_published_at": null,
"severity": "HIGH"
},
"details": "### Summary\n\n`ExAws.SNS.verify_message/1` fetches the signing certificate from the `SigningCertURL` field of the incoming SNS message without validating that the URL uses HTTPS or that its host is an AWS-owned SNS certificate domain. An unauthenticated attacker who can POST to any endpoint that calls `verify_message/1` can supply an attacker-controlled `SigningCertURL`, sign a forged SNS message with their own RSA key, and cause the function to return `:ok`, completely bypassing SNS signature verification.\n\n### Details\n\nIn `lib/ex_aws/sns.ex` (lines 475\u2013483), `verify_message/1` performs three checks: `validate_message_params/1` (confirms required fields are present), `validate_signature_version/1` (confirms `SignatureVersion == \"1\"`), then signature verification. The signature step calls `ExAws.SNS.PublicKeyCache.get(message[\"SigningCertURL\"])` and passes the result to `:public_key.verify/4`.\n\nNeither `validate_message_params/1` nor any other step checks that `SigningCertURL` is an HTTPS URL or that the hostname matches the expected pattern (e.g. `sns.\u003cregion\u003e.amazonaws.com`). `PublicKeyCache.get/1` in `lib/ex_aws/sns/public_key_cache.ex` fetches whatever URL is provided and caches the certificate. The RSA signature then verifies against the attacker\u0027s own public key, and `verify_message/1` returns `:ok`.\n\n### PoC\n\n1. Generate an RSA keypair and host the DER/PEM public certificate at any URL reachable from the target server (e.g. `http://attacker.example/cert.pem`).\n2. Build a forged `Notification` payload with an arbitrary `TopicArn` and `Message`, compute the canonical string-to-sign per the SNS spec, and sign it with the attacker private key.\n3. Set `SigningCertURL` to the attacker URL and `Signature` to the base64-encoded signature.\n4. POST the forged payload to any SNS webhook endpoint that calls `ExAws.SNS.verify_message/1`.\n5. The function returns `:ok`; the application treats the message as authentic.\n\n### Configurations\n\nThe application must expose an HTTP endpoint that calls `ExAws.SNS.verify_message/1` on incoming request bodies (the standard SNS webhook pattern).\n\n### Impact\n\nComplete SNS signature authentication bypass. Affects `ex_aws_sns` from 2.0.1 through 2.3.4. Consequences include spoofing arbitrary `Notification` payloads, auto-confirming attacker-controlled `SubscribeURL` values to hijack topic delivery, and spoofing `UnsubscribeConfirmation` to disrupt legitimate subscriptions. No authentication or special configuration on the attacker side is required. CVSS v4.0: **8.7 (HIGH)**.\n\n## Resources\n\n* Introduction commit: https://github.com/ex-aws/ex_aws_sns/commit/a7ec21880943f4dac1d59bda557db0ffcd2b61fa\n* Patch commit: https://github.com/ex-aws/ex_aws_sns/commit/1853d280b152d10384a1e21a22cf22152a60be48",
"id": "GHSA-8jgf-23q5-x7xx",
"modified": "2026-06-30T17:16:17Z",
"published": "2026-06-26T22:50:27Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/benoitc/hackney/security/advisories/GHSA-jq4m-q6p2-8gwc"
},
{
"type": "WEB",
"url": "https://github.com/ex-aws/ex_aws_sns/security/advisories/GHSA-8jgf-23q5-x7xx"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-47074"
},
{
"type": "WEB",
"url": "https://github.com/ex-aws/ex_aws_sns/commit/1853d280b152d10384a1e21a22cf22152a60be48"
},
{
"type": "PACKAGE",
"url": "https://github.com/ex-aws/ex_aws_sns"
},
{
"type": "WEB",
"url": "https://osv.dev/vulnerability/EEF-CVE-2026-47074"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N",
"type": "CVSS_V4"
}
],
"summary": "ex_aws_sns: Trusted-attacker `SigningCertURL` permits complete SNS signature bypass"
}
GHSA-8JGR-9GC8-M8FM
Vulnerability from github – Published: 2022-05-19 00:00 – Updated: 2022-05-28 00:00The Zoom Client for Meetings (for Android, iOS, Linux, macOS, and Windows) before version 5.10.0 fails to properly validate the hostname during a server switch request. This issue could be used in a more sophisticated attack to trick an unsuspecting users client to connect to a malicious server when attempting to use Zoom services.
{
"affected": [],
"aliases": [
"CVE-2022-22787"
],
"database_specific": {
"cwe_ids": [
"CWE-295"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2022-05-18T17:15:00Z",
"severity": "HIGH"
},
"details": "The Zoom Client for Meetings (for Android, iOS, Linux, macOS, and Windows) before version 5.10.0 fails to properly validate the hostname during a server switch request. This issue could be used in a more sophisticated attack to trick an unsuspecting users client to connect to a malicious server when attempting to use Zoom services.",
"id": "GHSA-8jgr-9gc8-m8fm",
"modified": "2022-05-28T00:00:27Z",
"published": "2022-05-19T00:00:14Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2022-22787"
},
{
"type": "WEB",
"url": "https://explore.zoom.us/en/trust/security/security-bulletin"
},
{
"type": "WEB",
"url": "http://packetstormsecurity.com/files/167238/Zoom-XMPP-Stanza-Smuggling-Remote-Code-Execution.html"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
]
}
Mitigation
Certificates should be carefully managed and checked to assure that data are encrypted with the intended owner's public key.
Mitigation
If certificate pinning is being used, ensure that all relevant properties of the certificate are fully validated before the certificate is pinned, including the hostname.
CAPEC-459: Creating a Rogue Certification Authority Certificate
An adversary exploits a weakness resulting from using a hashing algorithm with weak collision resistance to generate certificate signing requests (CSR) that contain collision blocks in their "to be signed" parts. The adversary submits one CSR to be signed by a trusted certificate authority then uses the signed blob to make a second certificate appear signed by said certificate authority. Due to the hash collision, both certificates, though different, hash to the same value and so the signed blob works just as well in the second certificate. The net effect is that the adversary's second X.509 certificate, which the Certification Authority has never seen, is now signed and validated by that Certification Authority.
CAPEC-475: Signature Spoofing by Improper Validation
An adversary exploits a cryptographic weakness in the signature verification algorithm implementation to generate a valid signature without knowing the key.