fix(deps): update dependency com.unboundid:unboundid-ldapsdk to v4 [security]#102
Open
gjed wants to merge 1 commit into
Open
fix(deps): update dependency com.unboundid:unboundid-ldapsdk to v4 [security]#102gjed wants to merge 1 commit into
gjed wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
2.3.5→4.0.5Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Weak Password Requirements in UnboundID LDAP SDK
CVE-2018-1000134 / GHSA-qwq9-8rpf-8mp7
More information
Details
UnboundID LDAP SDK version from commit 801111d8b5c732266a5dbd4b3bb0b6c7b94d7afb up to commit 8471904a02438c03965d21367890276bc25fa5a6, where the issue was reported and fixed contains an Incorrect Access Control vulnerability in process function in SimpleBindRequest class doesn't check for empty password when running in synchronous mode. The issue can result in ability to impersonate any valid user. This attack appear to be exploitable via Providing valid username and empty password against servers that do not do additional validation as per https://tools.ietf.org/html/rfc4513#section-5.1.1. This vulnerability appears to have been fixed in commit 8471904a02438c03965d21367890276bc25fa5a6.
Severity
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
pingidentity/ldapsdk (com.unboundid:unboundid-ldapsdk)
v4.0.5: UnboundID LDAP SDK for Java 4.0.5Compare Source
We have just released the UnboundID LDAP SDK for Java version 4.0.5, available for download from the LDAP.com website, from the releases page of our GitHub repository, from the Files page of our SourceForge project, and from the Maven Central Repository.
The most significant change in this release is the fix for a vulnerability described in CVE-2018-1000134. In an application that uses the LDAP SDK in synchronous mode, that uses the LDAP simple bind operation to authenticate users, that does not properly check to ensure that the user actually provided a password, and that sends its request to a directory server that does not follow the RFC 4513 section 5.1.2 recommendation to reject simple bind requests with a DN but no password, this bug could have allowed the application to mistakenly grant access to an attacker who identified themselves as a legitimate user but supplied an empty password. See CVE-2018-1000134 and the UnboundID LDAP SDK for Java for more information about this issue.
Other changes in the 4.0.5 release of the LDAP SDK include:
Updated the command-line argument parser so that it will not assign a value from a properties file to an argument if that argument is part of an exclusive argument set and another argument in that set was provided on the command line.
Fixed a manage-certificates bug in which the validity start time and validity duration values would be ignored when generating a self-signed certificate intended to replace an existing certificate. In that case, the tool would have always used the current time as the start time and a duration of one year.
Updated the manage-certificates tool to change the primary name for the existing --replace-existing-certificate argument in the generate-certificate-signing-request subcommand to be --use-existing-key-pair, and updated the usage information to make it clearer that using this option will not cause the keystore to be updated. The former --replace-existing-certificate identifier can still be used and will behave in exactly the same way as before, so there is no change in functionality.
Improved the usability of the ldap-debugger tool when using the --listenUsingSSL argument by ensuring that the --keyStorePath argument is also provided, along with one of the --keyStorePassword, --keyStorePasswordFile, and --promptForKeyStorePassword arguments.
Fixed a number of cases in which there was a mismatch between the arguments provided to a message format string and the arguments expected by that format string. Unit tests have been added to help prevent this from recurring.
Added a new PassphraseEncryptedOutputStream class that can be used to write encrypted data with a key generated from a provided passphrase. Also added a new PassphraseEncryptedInputStream class that can be used to read encrypted data written with the PassphraseEncryptedOutputStream when provided with the correct passphrase.
Added new RateLimitedInputStream and RateLimitedOutputStream classes that can be used to impose a maximum rate (in bytes per second) at which data can be read from a wrapped input stream or written to a wrapped output stream.
Added new CloseableLock and CloseableReadWriteLock classes that provide the same basic functionality as Java's ReentrantLock and ReentrantReadWriteLock classes, but that can also be used with Java's try-with-resources facility.
Added a new FixedBarrier.await(int) method that can be used to request rate limiting for the specified number of occurrences, rather than just a single occurrence. This can be used to make it easier to impose rate limiting in instances where the event that you're limiting doesn't fit into the existing paradigm. For example, it could be used to implement a rate-limited output stream in which you want to be able to specify the number of bytes being written at a time, instead of requiring a separate await() call for each byte being written.
Updated the ldapsearch, ldapmodify, split-ldif, transform-ldif, and validate-ldif tools to add support for encrypted LDIF files. The passphrase used to generate the encryption key can be provided interactively or read from a file.
Added support for two new UnboundID/Ping-proprietary request controls that can help clients prevent inadvertently requesting unindexed searches. The reject unindexed search request control can be used to indicate that the server should reject a search request if it cannot be efficiently processed using server indexes, even if the requester has the unindexed-search privilege. The permit unindexed search request control can be used to indicate that the server should process the search request even if it is unindexed, as long as the requester has the unindexed-search-with-control privilege. The ldapsearch tool has also been updated allow these controls to be included in the search requests that it generates.
Added support for a new UnboundID/Ping-proprietary request control that can be included in a search request to indicate that the client wishes to override an internal limit that might otherwise be in effect for that operation. The ldapsearch tool has been updated to allow this control to be included in the search requests that it generates.
Updated the summarize-access-log tool to add support for encrypted log files. The passphrase used to generate the encryption key can be provided interactively or read from a file.
v4.0.4: UnboundID LDAP SDK for Java 4.0.4Compare Source
We have just released the UnboundID LDAP SDK for Java version 4.0.4, available for download from the LDAP.com website, from the releases page of our GitHub repository, from the Files page of our SourceForge project, and from the Maven Central Repository.
There are a few noteworthy changes included in this release. The release notes go into more detail, but the highlights of these changes include:
ServerSetimplementations so that they can perform authentication and post-connect processing, which can make health checks against newly established connections more reliable.GetEntryLDAPConnectionPoolHealthCheckclass to provide support for invoking the health check after a pooled connection has been authenticated.GetEntryLDAPConnectionPoolHealthCheckclass that could cause it to behave incorrectly when checking the validity of a connection after anLDAPExceptionwas caught.Attribute.hasValuemethod to be more efficient for attributes with multiple values, and especially for attributes with a lot of values or with more complicated matching rules. This will also improve theFilter.matchesEntrymethod for equality filters that target similar types of attributes.LDAPConnectionOptionsclass to adjust the initial default connect timeout and operation response timeout, and the default operation response timeout can now be set differently for each type of operation. Most of the default values for options in theLDAPConnectionOptionsclass can now be set via system properties.v4.0.3: UnboundID LDAP SDK for Java 4.0.3Compare Source
The 4.0.3 release of the LDAP SDK contains a single bugfix over the 4.0.2 version. Just after releasing the 4.0.2 version, we found a bug in the way that the LDAP SDK generated and verified signatures for X.509 certificates and PKCS10 certificate signing requests. That has been corrected, and the 4.0.3 release is available for download from the LDAP.com website, from our GitHub repository, from the SourceForge project, or from the Maven Central Repository.
v4.0.2: UnboundID LDAP SDK for Java 4.0.2Compare Source
Happy 20th birthday, LDAPv3! The core LDAPv3 specifications, RFCs 2251 through 2256, were released on December 4, 1997. To celebrate, we’re releasing the UnboundID LDAP SDK for Java version 4.0.2. It is available now for download from the LDAP.com website, from our GitHub repository, from the SourceForge project, or from the Maven Central Repository.
The most significant changes included in this release are:
manage-certificatestool that can be used to interact with JKS and PKCS #12 keystores, generate certificates and certificate signing requests, sign certificates, and perform a number of other certificate-related features. It’s like keytool, but it offers additional functionality, and it’s a lot more user-friendly. The LDAP SDK also provides classes for generating and parsing certificates and certificate signing requests programmatically.Entry.diffmethod that can be used to perform a byte-for-byte comparison of attribute values instead of using the associated attribute syntax. This can help identify changes that result in logically equivalent values, like changing the value of a case-insensitive attribute in a way that only affects capitalization.PasswordReader.readPasswordCharsmethod that can be used to read a password into a character array. Previously, it was only possible to read a password as a byte array.LDAPConnection.closeWithoutUnbindmethod that can be used to close a connection without first sending an LDAP unbind request. While this isn’t usually recommended, it can be useful in cases where the connection is known to be invalid, and especially if there is the potential for sending the unbind request to cause the connection to block.OIDArgumentValueValidatorclass that can be used when requesting command-line arguments whose values are expected to be numeric OIDs.SSLSocketVerifierand that verifier rejected the connection for some reason.v4.0.1: UnboundID LDAP SDK for Java 4.0.1Compare Source
The UnboundID LDAP SDK for Java version 4.0.1 has been released. It is available for immediate download from the LDAP.com website, from our GitHub repository, from the SourceForge project, or from the Maven Central Repository.
This release fixes a number of issues and adds a few small features. Some of the most significant changes are:
v4.0.0: UnboundID LDAP SDK for Java 4.0.0Compare Source
The UnboundID LDAP SDK for Java version 4.0.0 has been released. Some of the most significant changes in this release are:
v3.2.1: UnboundID LDAP SDK for Java 3.2.1Compare Source
Notable Changes in the Standard and Commercial Editions
Notable Changes Only in the Commercial Edition
v3.2.0: UnboundID LDAP SDK for Java 3.2.0Compare Source
Some of the most significant changes include:
transform-ldiftool that can be used to apply a number of transformations to data in an LDIF file. This includes the ability to scramble, replace, redact, or exclude a specified set of attributes; to replace existing values for a specified attribute; the ability to use a sequential counter for values of a specified attribute; the ability to add a given set of values to entries matching specified criteria; the ability to exclude entries matching specified criteria; the ability to rename attributes; the ability to replace the base DN for entries in a specified subtree; and the ability to flatten a DIT.public void close()method that doesn't throw any exceptions other than a possibleIOExceptionso that they implement thejava.io.Closeableinterface. This includes classes likeLDAPConnection,LDAPConnectionPool,LDIFReader,LDIFWriter, and allEntrySourceimplementations. This allows code using these classes to take advantage of the try-with-resources facility introduced in Java SE 7.modratetool to make a number of improvements, including support for a number of controls, the ability to replace multiple values rather than just a single value, or the ability to perform an increment modification rather than a replace modification.JSONBufferclass that can be used to efficiently construct the string representation of a JSON object, and aJSONObjectReaderclass that can be used to read JSON objects from an input stream. Added the ability to generate formatted, multi-line string representations of JSON objects with improved human readability.identify-references-to-missing-entriesandidentify-unique-attribute-conflictstools.v3.1.1: UnboundID LDAP SDK for Java 3.1.1Compare Source
The most significant changes in this release include:
v3.1.0: UnboundID LDAP SDK for Java 3.1.0Compare Source
The most significant changes in this release include:
v3.0.0: UnboundID LDAP SDK for Java 3.0.0Compare Source
Significant announcements about the 3.0.0 release:
Additional features, bug fixes, and enhancements in the 3.0.0 release:
v2.3.8Compare Source
v2.3.7Compare Source
v2.3.6Compare Source
Configuration
📅 Schedule: (in timezone Europe/Rome)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate.