CVE-2022-21724 pgjdbc instantiates plugin instances based on class names provided via authenticationPluginClassName,
sslhostnameverifier, socketFactory, sslfactory, sslpasswordcallback connection properties.
However, the driver did not verify if the class implements the expected interface before instantiating the class. This
would allow a malicious class to be instantiated that could execute arbitrary code from the JVM. Fixed in commit
fix: we will ask the server if it supports GSS Encryption if gssEncryption
is prefer or require [PR #2396](pgjdbc/pgjdbc#2396) remove the need to have a ticket in the cache before asking the server if gss encryptions are supported
style: remove Java 8 / JDBC 4.2 checks [PR #2383](pgjdbc/pgjdbc#2383) Remove all remaining checks whether the source is lower than Java 8
or JDBC 4.2.
fix: throw SQLException for #getBoolean BIT(>1) [PR #2386](pgjdbc/pgjdbc#2386) Throw SQLException instead of ClassCastException when calling
CallableStatement#getBoolean(int) on BIT(>1).
style: import java.time types in more classes [PR #2382](pgjdbc/pgjdbc#2382) Use imports for java.time types in all remaining classes.
style: import java.time types in TimestampUtils [PR #2380](pgjdbc/pgjdbc#2380) Use imports for java.time types in TimestampUtils.
refactor: Change internal constructors to pass only connection Properties
Changes internal constructors for PgConnection and related classes to only accept the connection properties object and
remove the user and password arguments. Any locations that required those fields can retrieve them from the properties map.
test: Fix DatabaseMetadataTest to perform mview tests only on 9.3+
feat: Add authenticationPluginClassName option to provide passwords at runtime
Adds authenticationPluginClassName connection property that allows end users to specify a class
that will provide the connection passwords at runtime. Users implementing that interface must
ensure that each invocation of the method provides a new char[] array as the contents
will be filled with zeroes by the driver after use.Call sites within the driver have been updated to use the char[] directly wherever possible.
This includes direct usage in the GSS authentication code paths that internally were already converting the String password into a char[] for internal usage.
This allows configuring a connection with a password that must be generated on the fly or periodically changes. [PR #2369](pgjdbc/pgjdbc#2369) original issue [Issue #2102](pgjdbc/pgjdbc#2102)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps postgresql from 42.2.23 to 42.3.2.
Changelog
Sourced from postgresql's changelog.
... (truncated)
Commits
cfc4b11
Merge branch 'releasenotes-42.3.2' of https://github.com/davecramer/pgjdbc in...3f846ea
Generate changelogd6e5312
Fix the RPM CI - typo in branch names858cb17
Use GitHub Action for building RPM in Fedora Copr (#2428)5f98911
Changelog42.3.2 (#2418)dd6000e
feat: Change AuthenticationPlugin interface to use char[] rather than String417c9a2
minor: fix checkstyle violations for empty lines in enum3af3b32
Revert "perf: add read(b,o,l) to BlobInputStream (#2376)" (#2422)90e53cb
test: Disable no-arg callable statement tests in simple query moded281a78
Add cert key type checking to chooseClientAlias (#2417)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)