CVE-2023-31136 json
PostgresNIO processes unencrypted bytes from man-in-the-middle
published 2023-05-09 3 y ago modified 2026-06-17 4 mo ago also EUVD-2023-1513 , GHSA-9cfh-vx93-84vv
- cvss
- 3.7
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.5%
- EPSS 0.5% chance of exploitation in 30 days, percentile 42%
- public exploits
- 0
- none known
Summary
PostgresNIO is a Swift client for PostgreSQL. Any user of PostgresNIO prior to version 1.14.2 connecting to servers with TLS enabled is vulnerable to a man-in-the-middle attacker injecting false responses to the client's first few queries, despite the use of TLS certificate verification and encryption. The vulnerability is addressed in PostgresNIO versions starting from 1.14.2. There are no known workarounds for unpatched users.
Patch / fix
- swift github.com/vapor/postgres-nio 1.14.2
- vapor postgresnio 1.14.2
- github.com/vapor/postgres-nio@2df54bc commit
- github.com/apple/swift-nio#2419 pull request
- github.com/vapor/postgres-nio/releases/tag/1.14.2 release
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 21 mo ago
Exploit prediction
0.49% chance of exploitation in the next 30 days, higher than 42% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 3.7 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N |
| GitHub | 3.1 | 3.7 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N |
| NVD | 3.1 | 5.9 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| swift | github.com/vapor/postgres-nio | <1.14.2 |
1.14.2 |
Affected products
- vapor postgres-nio
Classification
- Weakness
-
- CWE-522 Insufficiently Protected Credentials
References
-
github.com
/apple/swift-nio/pull/2419
web, patch
-
github.com
/vapor/postgres-nio/commit/2df54bc94607f44584ae6ffa74e3cd754fffafc7
web, patch
-
github.com
/vapor/postgres-nio/security/advisories/GHSA-9cfh-vx93-84vv
web, vendor-advisory
-
github.com
/advisories/GHSA-467w-rrqc-395f
advisory, not-applicable
-
github.com
/advisories/GHSA-735f-7qx4-jqq5
advisory, not-applicable
-
github.com
/vapor/postgres-nio/releases/tag/1.14.2
web, release-notes
-
postgresql.org
/support/security/CVE-2021-23214/
not-applicable
-
postgresql.org
/support/security/CVE-2021-23222/
not-applicable
-
nvd.nist.gov
/vuln/detail/CVE-2023-31136
advisory
-
github.com
/vapor/postgres-nio
package
-
postgresql.org
/support/security/CVE-2021-23214
web
-
postgresql.org
/support/security/CVE-2021-23222
web
Sources
- CVE List CVE-2023-31136
- GitHub Advisory GHSA-9cfh-vx93-84vv
- NVD CVE-2023-31136
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.