CVE-2022-27536
Certificate.Verify in crypto/x509 in Go 1.18.x before 1.18.1 can be caused to panic on macOS when...
Certificate.Verify in crypto/x509 in Go 1.18.x before 1.18.1 can be caused to panic on macOS when presented with certain malformed certificates. This allows a remote TLS server to cause a TLS client to panic.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
NVD Score used
7.5
Certificate.Verify in crypto/x509 in Go 1.18.x before 1.18.1 can be caused to panic on macOS when presented with certain malformed certificates. This allows a remote TLS server to cause a TLS client to panic.
- Record
CVE-2022-27536- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - CVSS 2.0
- 5.0 Medium
AV:N/AC:L/Au:N/C:N/I:N/A:P - Weakness
- CWE-295
- Updated
- 2026-11-02
CVE List No score
Certificate.Verify in crypto/x509 in Go 1.18.x before 1.18.1 can be caused to panic on macOS when presented with certain malformed certificates. This allows a remote TLS server to cause a TLS client to panic.
- Record
CVE-2022-27536- Updated
- 2026-11-02
EUVDEUVD-2022-32037 No score
Certificate.Verify in crypto/x509 in Go 1.18.x before 1.18.1 can be caused to panic on macOS when presented with certain malformed certificates. This allows a remote TLS server to cause a TLS client to panic.
- Record
EUVD-2022-32037- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-vwmq-9gjc-2jjj
7.5
Certificate.Verify in crypto/x509 in Go 1.18.x before 1.18.1 can be caused to panic on macOS when...
Certificate.Verify in crypto/x509 in Go 1.18.x before 1.18.1 can be caused to panic on macOS when presented with certain malformed certificates. This allows a remote TLS server to cause a TLS client to panic.
- Record
GHSA-vwmq-9gjc-2jjj- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-295
- Updated
- 2026-11-02
OSVALPINE-CVE-2022-27536
7.5
Certificate.Verify in crypto/x509 in Go 1.18.x before 1.18.1 can be caused to panic on macOS when presented with certain malformed certificates. This allows a remote TLS server to cause a TLS client to panic.
- Record
ALPINE-CVE-2022-27536- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-03
OSVAZL-78958
7.5
CVE-2022-27536 affecting package golang 1.26.10-1
Certificate.Verify in crypto/x509 in Go 1.18.x before 1.18.1 can be caused to panic on macOS when presented with certain malformed certificates. This allows a remote TLS server to cause a TLS client to panic.
- Record
AZL-78958- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-05
Show 8 moreShow less
OSVAZL-98946
7.5
CVE-2022-27536 affecting package golang 1.27.1-1
Certificate.Verify in crypto/x509 in Go 1.18.x before 1.18.1 can be caused to panic on macOS when presented with certain malformed certificates. This allows a remote TLS server to cause a TLS client to panic.
- Record
AZL-98946- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVBELL-CVE-2022-27536
7.5
CVE-2022-27536 does not affect BellSoft software
- Record
BELL-CVE-2022-27536- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVBIT-golang-2022-27536 No score
Certificate.Verify in crypto/x509 in Go 1.18.x before 1.18.1 can be caused to panic on macOS when presented with certain malformed certificates. This allows a remote TLS server to cause a TLS client to panic.
- Record
BIT-golang-2022-27536- Updated
- 2026-11-02
OSV No score
Certificate.Verify in crypto/x509 in Go 1.18.x before 1.18.1 can be caused to panic on macOS when presented with certain malformed certificates. This allows a remote TLS server to cause a TLS client to panic.
- Record
CVE-2022-27536- Updated
- 2026-11-02
OSVGO-2022-0434 No score
Panic during certificate parsing on Darwin in crypto/x509
Verifying certificate chains containing certificates which are not compliant with RFC 5280 causes Certificate.Verify to panic on macOS.
These chains can be delivered through TLS and can cause a crypto/tls or net/http client to crash.
- Record
GO-2022-0434- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:11991-1 No score
go1.18-1.18.1-1.1 on GA media
These are all security issues fixed in the go1.18-1.18.1-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:11991-1- Updated
- 2026-11-02
OSVSUSE-SU-2022:1410-1 No score
Security update for go1.18
This update for go1.18 fixes the following issues:
- CVE-2022-24675: Fixed a stack overlow in Decode() in encoding/pem (bsc#1198423).
- CVE-2022-28327: Fixed a crash due to refused oversized scalars in generic P-256 (bsc#1198424).
- CVE-2022-27536: Fixed a crash in Certificate.Verify in crypto/x509 (bsc#1198427).
Bump go1.18 (bsc#1193742)
- Record
SUSE-SU-2022:1410-1- Updated
- 2026-11-02
OSVSUSE-SU-2023:2312-1 No score
Security update for go1.18-openssl
This update for go1.18-openssl fixes the following issues:
-
Add subpackage go1.x-libstd compiled shared object libstd.so (jsc#PED-1962)
- Main go1.x package included libstd.so in previous versions
- Split libstd.so into subpackage that can be installed standalone
- Continues the slimming down of main go1.x package by 40 Mb
- Experimental and not recommended for general use, Go currently has no ABI
- Upstream Go has not committed to support buildmode=shared long-term
- Do not use in packaging, build static single binaries (the default)
- Upstream Go go1.x binary releases do not include libstd.so
- go1.x Suggests go1.x-libstd so not installed by default Recommends
- go1.x-libstd does not Require: go1.x so can install standalone
- Provides go-libstd unversioned package name
- Fix build step -buildmode=shared std to omit -linkshared
-
Packaging improvements:
- go1.x Suggests go1.x-doc so not installed by default Recommends
- Use Group: Development/Languages/Go instead of Other
-
Improvements to go1.x packaging spec:
- On Tumbleweed bootstrap with current default gcc13 and gccgo118
- On SLE-12 aarch64 ppc64le ppc64 remove overrides to bootstrap using go1.x package (%bcond_without gccgo). This is no longer needed on current SLE-12:Update and removing will consolidate the build configurations used.
- Change source URLs to go.dev as per Go upstream
- On x86_64 export GOAMD64=v1 as per the current baseline. At this time forgo GOAMD64=v3 option for x86_64_v3 support.
- On x86_64 %define go_amd64=v1 as current instruction baseline
-
Update to version 1.18.10.1 cut from the go1.18-openssl-fips branch at the revision tagged go1.18.10-1-openssl-fips.
- Merge branch dev.boringcrypto.go1.18 into go1.18-openssl-fips
- Merge go1.18.10 into dev.boringcrypto.go1.18
-
go1.18.10 (released 2023-01-10) includes fixes to cgo, the compiler, the linker, and the crypto/x509, net/http, and syscall packages. Refs bsc#1193742 go1.18 release tracking
- go#57705 misc/cgo: backport needed for dlltool fix
- go#57426 crypto/x509: Verify on macOS does not return typed errors
- go#57344 cmd/compile: the loong64 intrinsic for CompareAndSwapUint32 function needs to sign extend its 'old' argument.
- go#57338 syscall, internal/poll: accept4-to-accept fallback removal broke Go code on Synology DSM 6.2 ARM devices
- go#57213 os: TestLstat failure on Linux Aarch64
- go#57211 reflect: sort.SliceStable sorts incorrectly on arm64 with less function created with reflect.MakeFunc and slice of sufficient length
- go#57057 cmd/go: remove test dependency on gopkg.in service
- go#57054 cmd/go: TestScript/version_buildvcs_git_gpg (if enabled) fails on linux longtest builders
- go#57044 cgo: malformed DWARF TagVariable entry
- go#57028 cmd/cgo: Wrong types in compiler errors with clang 14
- go#56833 cmd/link/internal/ppc64: too-far trampoline is reused
- go#56711 net: reenable TestLookupDotsWithRemoteSource and TestLookupGoogleSRV with a different target
- go#56323 net/http: bad handling of HEAD requests with a body
- Record
SUSE-SU-2023:2312-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
goAlpine:v3.16 |
1.18.0 up to 1.18.1-r0 | 1.18.1-r0 |
goAlpine:v3.17 |
1.18.0 up to 1.18.1-r0 | 1.18.1-r0 |
goAlpine:v3.18 |
1.18.0 up to 1.18.1-r0 | 1.18.1-r0 |
goAlpine:v3.19 |
1.18.0 up to 1.18.1-r0 | 1.18.1-r0 |
goAlpine:v3.20 |
1.18.0 up to 1.18.1-r0 | 1.18.1-r0 |
goAlpine:v3.21 |
1.18.0 up to 1.18.1-r0 | 1.18.1-r0 |
goAlpine:v3.22 |
1.18.0 up to 1.18.1-r0 | 1.18.1-r0 |
goAlpine:v3.23 |
1.18.0 up to 1.18.1-r0 | 1.18.1-r0 |
goAlpine:v3.24 |
1.18.0 up to 1.18.1-r0 | 1.18.1-r0 |
golangAzure Linux:3 |
through 1.26.10-1 | None known |
Show 16 moreShow less
| Package | Affected | Fixed |
|---|---|---|
golangAzure Linux:3 |
1.27.0 to 1.27.1-1 | None known |
golangBitnami |
1.18.0 up to 1.18.1 | 1.18.1 |
stdlibGo |
1.18.0-0 up to 1.18.1 | 1.18.1 |
go1.18SUSE:Linux Enterprise Module for Development Tools 15 SP3 From an advisory covering 3 CVEs |
before 1.18.1-150000.1.11.1 | 1.18.1-150000.1.11.1 |
go1.18openSUSE:Leap 15.3 From an advisory covering 3 CVEs |
before 1.18.1-150000.1.11.1 | 1.18.1-150000.1.11.1 |
go1.18openSUSE:Leap 15.4 From an advisory covering 3 CVEs |
before 1.18.1-150000.1.11.1 | 1.18.1-150000.1.11.1 |
go1.18-opensslSUSE:Linux Enterprise Module for Development Tools 15 SP4 From an advisory covering 28 CVEs |
before 1.18.10.1-150000.1.9.1 | 1.18.10.1-150000.1.9.1 |
go1.18-opensslSUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS From an advisory covering 28 CVEs |
before 1.18.10.1-150000.1.9.1 | 1.18.10.1-150000.1.9.1 |
go1.18-opensslSUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS From an advisory covering 28 CVEs |
before 1.18.10.1-150000.1.9.1 | 1.18.10.1-150000.1.9.1 |
go1.18-opensslSUSE:Linux Enterprise Real Time 15 SP3 From an advisory covering 28 CVEs |
before 1.18.10.1-150000.1.9.1 | 1.18.10.1-150000.1.9.1 |
go1.18-opensslSUSE:Linux Enterprise Server 15 SP3-LTSS From an advisory covering 28 CVEs |
before 1.18.10.1-150000.1.9.1 | 1.18.10.1-150000.1.9.1 |
go1.18-opensslSUSE:Linux Enterprise Server for SAP Applications 15 SP3 From an advisory covering 28 CVEs |
before 1.18.10.1-150000.1.9.1 | 1.18.10.1-150000.1.9.1 |
go1.18-opensslSUSE:Enterprise Storage 7.1 From an advisory covering 28 CVEs |
before 1.18.10.1-150000.1.9.1 | 1.18.10.1-150000.1.9.1 |
go1.18-opensslopenSUSE:Leap 15.4 From an advisory covering 28 CVEs |
before 1.18.10.1-150000.1.9.1 | 1.18.10.1-150000.1.9.1 |
go1.18-opensslopenSUSE:Leap 15.5 From an advisory covering 28 CVEs |
before 1.18.10.1-150000.1.9.1 | 1.18.10.1-150000.1.9.1 |
go1.18openSUSE:Tumbleweed From an advisory covering 3 CVEs |
before 1.18.1-1.1 | 1.18.1-1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected | ||
| facts | OSV | |
| affected, aliases, references | OSV | |
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2022-27536 is a high vulnerability (CVSS 7.5) in Golang Go, published April 20, 2022. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.47%, the 73rd percentile. Fixed in go 1.18.1-r0.
References
groups.google.com/g/golang-announce
groups.google.com/g/golang-announce/c/oecdBNLOml8
security.gentoo.org/glsa/202208-02
cert-portal.siemens.com/productcert/pdf/ssa-744259.pdf
security.netapp.com/advisory/ntap-20230309-0001
nvd.nist.gov/vuln/detail/CVE-2022-27536
Show 68 moreShow less
github.com/advisories/GHSA-vwmq-9gjc-2jjj
security.alpinelinux.org/vuln/CVE-2022-27536
docs.bell-sw.com/security/cves/CVE-2022-27536
github.com/CVEProject/cvelistV5/tree/main/cves/2022/27xxx/CVE-2022-27536.json
go.dev/cl/393655
go.googlesource.com/go/+/0fca8a8f25cf4636fd980e72ba0bded4230922de
go.dev/issue/51759
suse.com/support/update/announcement/2022/suse-su-20221410-1
bugzilla.suse.com/1183043
bugzilla.suse.com/1193742
bugzilla.suse.com/1198423
bugzilla.suse.com/1198424
bugzilla.suse.com/1198427
suse.com/security/cve/CVE-2022-24675
suse.com/security/cve/CVE-2022-27536
suse.com/security/cve/CVE-2022-28327
suse.com/support/update/announcement/2023/suse-su-20232312-1
bugzilla.suse.com/1199413
bugzilla.suse.com/1200134
bugzilla.suse.com/1200135
bugzilla.suse.com/1200136
bugzilla.suse.com/1200137
bugzilla.suse.com/1201434
bugzilla.suse.com/1201436
bugzilla.suse.com/1201437
bugzilla.suse.com/1201440
bugzilla.suse.com/1201443
bugzilla.suse.com/1201444
bugzilla.suse.com/1201445
bugzilla.suse.com/1201447
bugzilla.suse.com/1201448
bugzilla.suse.com/1202035
bugzilla.suse.com/1203185
bugzilla.suse.com/1204023
bugzilla.suse.com/1204024
bugzilla.suse.com/1204025
bugzilla.suse.com/1204941
bugzilla.suse.com/1206134
bugzilla.suse.com/1206135
bugzilla.suse.com/1208270
bugzilla.suse.com/1208271
bugzilla.suse.com/1208272
bugzilla.suse.com/1208491
suse.com/security/cve/CVE-2022-1705
suse.com/security/cve/CVE-2022-1962
suse.com/security/cve/CVE-2022-27664
suse.com/security/cve/CVE-2022-28131
suse.com/security/cve/CVE-2022-2879
suse.com/security/cve/CVE-2022-2880
suse.com/security/cve/CVE-2022-29526
suse.com/security/cve/CVE-2022-29804
suse.com/security/cve/CVE-2022-30580
suse.com/security/cve/CVE-2022-30629
suse.com/security/cve/CVE-2022-30630
suse.com/security/cve/CVE-2022-30631
suse.com/security/cve/CVE-2022-30632
suse.com/security/cve/CVE-2022-30633
suse.com/security/cve/CVE-2022-30634
suse.com/security/cve/CVE-2022-30635
suse.com/security/cve/CVE-2022-32148
suse.com/security/cve/CVE-2022-32189
suse.com/security/cve/CVE-2022-41715
suse.com/security/cve/CVE-2022-41716
suse.com/security/cve/CVE-2022-41717
suse.com/security/cve/CVE-2022-41720
suse.com/security/cve/CVE-2022-41723
suse.com/security/cve/CVE-2022-41724
suse.com/security/cve/CVE-2022-41725