CVE-2023-31136 json
PostgresNIO processes unencrypted bytes from man-in-the-middle
published 3y ago modified 4mo 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
Is CVE-2023-31136 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerCISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- last yr.
Exploit prediction
0.49% chance of exploitation in the next 30 days, higher than 42% of all scored CVEs (FIRST EPSS, 2026-11-14).
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 Intel 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.