0.24.0
- `x509.Certificate().self_signed` will no longer return `"yes"` under any
circumstances. This helps prevent confusion since the library does not
verify the signature. Instead a library like oscrypto should be used
to confirm if a certificate is self-signed.
- Added various OIDs to `x509.KeyPurposeId()`
- Added `x509.Certificate().private_key_usage_period_value`
- Added structures for parsing common subject directory attributes for
X.509 certificates, including `x509.SubjectDirectoryAttribute()`
- Added `algos.AnyAlgorithmIdentifier()` for situations where an
algorithm identifier may contain a digest, signed digest or encryption
algorithm OID
- Fixed a bug with `x509.Certificate().subject_directory_attributes_value`
not returning the correct value
- Fixed a bug where explicitly-tagged fields in a `core.Sequence()` would
not function properly when the field had a default value
- Fixed a bug with type checking in `pem.armor()`
Noteworthy changes in version 1.8.2:
* Bug fixes:
- Do not use /dev/srandom on OpenBSD.
- Fix test suite failure on systems with large pages.
- Fix test suite to not use mmap on Windows.
- Fix fatal out of secure memory status in the s-expression parser
on heavy loaded systems.
* Other:
- Backport the auto expand secmem feature from master for use by
the forthcoming GnuPG 2.2.4.
Version 1.0.16
- Signatures computations and verifications are now way faster on
64-bit platforms with compilers supporting 128-bit arithmetic (gcc,
clang, icc). This includes the WebAssembly target.
- New low-level APIs for computations over edwards25519:
`crypto_scalarmult_ed25519()`, `crypto_scalarmult_ed25519_base()`,
`crypto_core_ed25519_is_valid_point()`, `crypto_core_ed25519_add()`,
`crypto_core_ed25519_sub()` and `crypto_core_ed25519_from_uniform()`
(elligator representative to point).
- `crypto_sign_open()`, `crypto_sign_verify_detached() and
`crypto_sign_edwards25519sha512batch_open` now reject public keys in
non-canonical form in addition to low-order points.
- The library can be built with `ED25519_NONDETERMINISTIC` defined in
order to use synthetic nonces for EdDSA. This is disabled by default.
- Webassembly: `crypto_pwhash_*()` functions are now included in
non-sumo builds.
- `sodium_stackzero()` was added to wipe content off the stack.
- Android: support new SDKs where unified headers have become the
default.
- The Salsa20-based PRNG example is now thread-safe on platforms with
support for thread-local storage, optionally mixes bits from RDRAND.
- CMAKE: static library detection on Unix systems has been improved
- Argon2 and scrypt are slightly faster on Linux.
Read/write after SSL object in error state (CVE-2017-3737)
==========================================================
Severity: Moderate
OpenSSL 1.0.2 (starting from version 1.0.2b) introduced an "error state"
mechanism. The intent was that if a fatal error occurred during a handshake then
OpenSSL would move into the error state and would immediately fail if you
attempted to continue the handshake. This works as designed for the explicit
handshake functions (SSL_do_handshake(), SSL_accept() and SSL_connect()),
however due to a bug it does not work correctly if SSL_read() or SSL_write() is
called directly. In that scenario, if the handshake fails then a fatal error
will be returned in the initial function call. If SSL_read()/SSL_write() is
subsequently called by the application for the same SSL object then it will
succeed and the data is passed without being decrypted/encrypted directly from
the SSL/TLS record layer.
In order to exploit this issue an application bug would have to be present that
resulted in a call to SSL_read()/SSL_write() being issued after having already
received a fatal error.
rsaz_1024_mul_avx2 overflow bug on x86_64 (CVE-2017-3738)
=========================================================
Severity: Low
There is an overflow bug in the AVX2 Montgomery multiplication procedure
used in exponentiation with 1024-bit moduli. No EC algorithms are affected.
Analysis suggests that attacks against RSA and DSA as a result of this defect
would be very difficult to perform and are not believed likely. Attacks
against DH1024 are considered just feasible, because most of the work
necessary to deduce information about a private key may be performed offline.
The amount of resources required for such an attack would be significant.
However, for an attack on TLS to be meaningful, the server would have to share
the DH1024 private key among multiple clients, which is no longer an option
since CVE-2016-0701.
This only affects processors that support the AVX2 but not ADX extensions
like Intel Haswell (4th generation).
0.20.0 - 2017-12-06
- Certbot's ACME library now recognizes URL fields in challenge
objects in preparation for Let's Encrypt's new ACME endpoint.
- The Apache plugin now parses some distro specific Apache
configuration files on non-Debian systems allowing it to get a
clearer picture on the running configuration.
- Certbot better reports network failures by removing information
about connection retries from the error output.
- An unnecessary question when using Certbot's webroot plugin
interactively has been removed.
- Certbot's NGINX plugin no longer sometimes incorrectly reports that
it was unable to deploy a HTTP->HTTPS redirect when requesting
Certbot to enable a redirect for multiple domains.
- Problems where the Apache plugin was failing to find directives and
duplicating existing directives on openSUSE have been resolved.
- An issue running the test shipped with Certbot and some our DNS
plugins with older versions of mock have been resolved.
- On some systems, users reported strangely interleaved output
depending on when stdout and stderr were flushed.
0.19.0 - 2017-10-04
- Certbot now has renewal hook directories where executable files can
be placed for Certbot to run with the renew subcommand.
- After revoking a certificate with the revoke subcommand, Certbot
will offer to delete the lineage associated with the certificate.
- When using Certbot's Google Cloud DNS plugin on Google Compute
Engine, you no longer have to provide a credential file to Certbot
if you have configured sufficient permissions for the instance which
Certbot can automatically obtain using Google's metadata service.
- When deleting certificates interactively using the delete
subcommand, Certbot will now allow you to select multiple lineages
to be deleted at once.
- Certbot's Apache plugin no longer always parses Apache's
sites-available on Debian based systems and instead only parses
virtual hosts included in your Apache configuration.
- The plugins subcommand can now be run without root access.
- certbot-auto now includes a timeout when updating itself so it no
longer hangs indefinitely when it is unable to connect to the
external server.
- An issue where Certbot's Apache plugin would sometimes fail to
deploy a certificate on Debian based systems if mod_ssl wasn't
already enabled has been resolved.
- A bug in our Docker image where the certificates subcommand could
not report if certificates maintained by Certbot had been revoked
has been fixed.
- Certbot's RFC 2136 DNS plugin (for use with software like BIND) now
properly performs DNS challenges when the domain being verified
contains a CNAME record.
1.3.0:
Features
* Support RFC 5587: Extended GSS Mechanism Inquiry APIs
* Support RFC 5801: Using GSSAPI Mechanisms in SASL
Bugfixes
* Fix potential infinite recursion in GSSError#display_status when there is an error displaying the error
* Read the linker path during setup to support properly building with Heimdal on Debian
* Fix OID inequality comparison
Tooling
* k5test and gssapi-console now live in their own projects. They can be found at pythongssapi/k5test and pythongssapi/gssapi-console, respectively, and are available on PyPI as k5test and gssapi_console
This is a shell script to aid with creating a Certificate Authority
and certificates for use with an OpenVPN server. See
http://openvpn.net/howto.html for usage instructions along with
the documentation provided in this package.
17.5.0:
Backward-incompatible changes:
* The minimum cryptography version is now 2.1.4.
Changes:
* Fixed a potential use-after-free in the verify callback and resolved a memory leak when loading PKCS12 files with cacerts.
* Added Connection.export_keying_material for RFC 5705 compatible export of keying material.
Version 2.1.0.16
- Re-packaged 2.1.0.15 with newer setuptools to fix broken wheel.
Version 2.1.0.15
- Fully support PDFFile object.
- Add URI property to Artifact object.
- Support Object 'description' field.
- Add UnixUserAccount object.
- Fix error when PropertyTypes have 'delimiter' but no value.
- Allow setting 'condition' on Artifact object's RawArtifact propety.
- Support adding SSDEEP hashes.
- Don't include properties when adding Related Objects with inline=False.
- Handle 'event' property of Observables correctly.
Since the last update, translations have been added but the additional files
have not been included into PLIST. The build failed in such a case:
PKG_OPTIONS.sudo= +nls
PKG_DEVELOPER= yes
0.055 2017-11-28
- new Crypt::Cipher::IDEA
- new Crypt::Cipher::Serpent
- new Crypt::Stream::Salsa20
- new Crypt::Stream::Sosemanuk
- added CCM object oriented interface: new-add-add-done
- fix#39 accept CFLAGS and CPPFLAGS from the environment
- fix#40 typos in POD
- fix HMAC+SHA3 (now compliant with NIST test vectors)
NEWS for the Nettle 3.4 release
This release fixes bugs and adds a few new features. It also
addresses an ABI compatibility issue affecting Nettle-3.1 and
later, see below.
Bug fixes:
* Fixed an improper use of GMP mpn_mul, breaking curve2559 and
eddsa on certain platforms. Reported by Sergei Trofimovich.
* Fixed memory leak when handling invalid signatures in
ecdsa_verify. Fix contributed by Nikos Mavrogiannopoulos.
* Fix compilation error with --enable-fat om ARM. Fix
contributed by Andreas Schneider.
* Reorganized the way certain data items are made available.
Short version: Nettle header files now define the symbols
nettle_hashes, nettle_ciphers, and nettle_aeads, as
preprocessor macros invoking a corresponding accessor
function. For backwards ABI compatibility, the symbols are
still present in the compiled libraries, and with the same
sizes as in nettle-3.3.
New features:
* Support for RSA-PSS signatures, contributed by Daiki Ueno.
* Support for the HKDF key derivation function, defined by RFC
5869. Contributed by Nikos Mavrogiannopoulos.
* Support for the Cipher Feedback Mode (CFB), contributed by
Dmitry Eremin-Solenikov.
* New accessor functions: nettle_get_hashes,
nettle_get_ciphers, nettle_get_aeads, nettle_get_secp_192r1,
nettle_get_secp_224r1, nettle_get_secp_256r1,
nettle_get_secp_384r1, nettle_get_secp_521r1.
For source-level compatibility with future versions,
applications are encouraged to migrate to using these
functions instead of referring to the corresponding data
items directly.
Miscellaneous:
* The base16 and base64 functions now use the type char * for
ascii data, rather than uint8_t *. This eliminates the last
pointer-signedness warnings when building Nettle. This is a
minor API change, and applications may need to be adjusted,
but the ABI is unaffected on all platforms I'm aware of.
* The contents of the header file nettle/version.h is now
architecture independent, except in --enable-mini-gmp
configurations.
ABI issue:
Since the breakage was a bit subtle, let me document it
here. The nettle and hogweed libraries export a couple of
data symbols, and for some of these, the size was never
intended to be part of the ABI. E.g.,
extern const struct nettle_hash * const nettle_hashes[];
which is an NULL-terminated array.
It turns out the sizes nevertheless may leak into the ABI, and
that increasing the sizes can break old executables linked
with a newer version of the library.
When linking a classic non-PIE executable with a shared
library, we get ELF relocations of type R_X86_64_COPY for
references to data items. These mean that the linker allocates
space for the data item in the data segment of executable, at
a fixed address determined at link-time, and with size
extracted from the version of the .so-file seen when linking.
At load time, the run time linker then copies the contents of
the symbol from the .so file to that location, and uses the
copy instead of the version loaded with the .so-file. And if
the data item in the .so file used at load time is larger than
the data item seen at link time, it is silently truncated in
the process.
So when SHA3 hashes were was added to the nettle_hashes array
in the nettle-3.3 release, this way of linking produces a
truncated array at load time, no longer NULL-terminated.
We will get similar problems for planned extensions of the
internal struct ecc_curve, and exported data items like
extern const struct ecc_curve nettle_secp_256r1;
where the ecc_curve struct is only forward declared in the
public headers. To prepare, applications should migrate to
using the new function nettle_get_secp_256r1, and similarly
for the other curves.
In some future version, the plan is to add a leading
underscore to the name of the actual data items. E.g.,
nettle_hashes --> _nettle_hashes, breaking the ABI, while
keeping the nettle_get_hashes function and the nettle_hashes
macro as the supported ways to access it. We will also
rename nettle_secp_256r1 --> _nettle_secp_256r1, breaking
both ABI and API.
Note that data items like nettle_sha256 are *not* affected,
since the size and layout of this struct is considered part
of the ABI, and R_X86_64_COPY-relocations then work fine.
Revision 0.4.2:
---------------
- Fixed explicit tag splitting in chunked encoding mode at
OctetString and BitString encoders
Revision 0.4.1:
---------------
- ANY DEFINED BY clause support implemented
- Encoders refactored to take either a value (as ASN.1 object)
or a Python value plus ASN.1 schema
- BitString decoder optimised for better performance when running on
constructed encoding
- Constructed types' .getComponentBy*() methods accept the default
parameter to return instead if schema object is to be returned
- Constructed types' .getComponentBy*() methods accept the instantiate
parameter to disable automatic inner component instantiation
- The ASN.1 types' __repr__ implementation reworked for better readability
at the cost of not being eval-compliant
- Most ASN.1 types' __str__ magic methods (except for OctetString and
character types) reworked to call .prettyPrint() rather than
.prettyPrint calling __str__ as it was before. The intention is
to eventually deprecate .prettyPrint() in favor of str().
The other related change is that str() of enumerations and boolean
types will return string label instead of number.
- Fixed Choice.clear() to fully reset internal state of the object
- Sphinx documentation rearranged, simplified and reworded
- The isValue singleton is now the only way to indicate ASN.1 schema
as opposed to ASN.1 schema instance. The legacy None initializer
support has been removed.
- Changed Null object initialization behaviour: previous default
value ('') is not set anymore. Thus Null() call produces a
ASN.1 schema object, while Null('') - value object.
- Migrated all docs and references from SourceForge
- Imports PEP8'ed
- Fixed ASN.1 encoder not to omit empty substrate produced for inner
component if the inner component belongs to the simple class (as
opposed to constructed class)
- Fixed CER/DER encoders to respect tagged CHOICE when ordering
SET components
- Fixed ASN.1 types not to interfere with the Pickle protocol
- Fixed Sequence/SequenceOf types decoding heuristics in schema-less
decoding mode
From DESCR:
2fa is a two-factor authentication agent.
"2fa -add name" adds a new key to the 2fa keychain with the given name. It
prints a prompt to standard error and reads a two-factor key from standard
input. Two-factor keys are short case-insensitive strings of letters A-Z and
digits 2-7.
"2fa name" prints a two-factor authentication code from the key with the
given name.
With no arguments, "2fa" prints two-factor authentication codes from all
known time-based keys.
The default time-based authentication codes are derived from a hash of the
key and the current time, so it is important that the system clock have at
least one-minute accuracy.
The keychain is stored unencrypted in the text file "$HOME/.2fa".
10.5.0
* Added ``--list-backends`` option to command-line interface.
* Removed ``logger`` from ``keyring``.
* Set the appid for SecretService & KWallet to something meaningful.
This is a recommended security update.
Changes between 1.0.2l and 1.0.2m [2 Nov 2017]
*) bn_sqrx8x_internal carry bug on x86_64
There is a carry propagating bug in the x86_64 Montgomery squaring
procedure. No EC algorithms are affected. Analysis suggests that attacks
against RSA and DSA as a result of this defect would be very difficult to
perform and are not believed likely. Attacks against DH are considered just
feasible (although very difficult) because most of the work necessary to
deduce information about a private key may be performed offline. The amount
of resources required for such an attack would be very significant and
likely only accessible to a limited number of attackers. An attacker would
additionally need online access to an unpatched system using the target
private key in a scenario with persistent DH parameters and a private
key that is shared between multiple clients.
This only affects processors that support the BMI1, BMI2 and ADX extensions
like Intel Broadwell (5th generation) and later or AMD Ryzen.
This issue was reported to OpenSSL by the OSS-Fuzz project.
(CVE-2017-3736)
[Andy Polyakov]
*) Malformed X.509 IPAddressFamily could cause OOB read
If an X.509 certificate has a malformed IPAddressFamily extension,
OpenSSL could do a one-byte buffer overread. The most likely result
would be an erroneous display of the certificate in text format.
This issue was reported to OpenSSL by the OSS-Fuzz project.
(CVE-2017-3735)
[Rich Salz]
Changes between 1.0.2k and 1.0.2l [25 May 2017]
*) Have 'config' recognise 64-bit mingw and choose 'mingw64' as the target
platform rather than 'mingw'.
[Richard Levitte]
changes in version 2.2.3:
* gpgsm: Fix initial keybox creation on Windows.
* dirmngr: Fix crash in case of a CRL loading error.
* Fix the name of the Windows registry key.
* gpgtar: Fix wrong behaviour of --set-filename.
* gpg: Silence AKL retrieval messages.
* agent: Use clock or clock_gettime for calibration.
* agent: Improve robustness of the shutdown pending state.
17.4.0:
Re-added a subset of the OpenSSL.rand module. This subset allows conscientious users to reseed the OpenSSL CSPRNG after fork.
Corrected a use-after-free when reusing an issuer or subject from an X509 object after the underlying object has been mutated.
Changes in version 2.4.4:
* New configure option --disable-doc.
* Fix the use of nanosleep.
* Portability fixes for OpenBSD and macOS.
* Portability fix for systems not defining INADDR_LOOPBACK.
* Improve descriptor passing test to fix a Cygwin build problem.
Release 1.11.1:
Switched to using PBKDF2 implementation provided by PyCA, replacing a much slower pure-Python implementation used in earlier releases.
Improved support for file-like objects in process I/O redirection, properly handling objects which don’t support fileno() and allowing both text and binary file objects based on whether they have an ‘encoding’ member.
Changed PEM parser to be forgiving of trailing blank lines.
Updated documentation to note lack of support in OpenSSH for send_signal(), terminate(), and kill() channel requests.
Updated unit tests to work better with OpenSSH 7.6.
Updated Travis CI config to test with more recent Python versions.
DEPRECATIONS/CHANGES:
- API HTTP client behavior: When calling `NewClient` the API no longer
modifies the provided client/transport.
- AWS EC2 client nonce behavior: The client nonce generated by the
backend that gets returned along with the authentication response
will be audited in plaintext.
- AWS Auth role options: The API will now error when trying to create
or update a role with the mutually-exclusive options
`disallow_reauthentication` and `allow_instance_migration`.
- SSH CA role read changes: When reading back a role from the `ssh`
backend, the TTL/max TTL values will now be an integer number of
seconds rather than a string. This better matches the API elsewhere
in Vault.
- SSH role list changes: When listing roles from the `ssh` backend via
the API, the response data will additionally return a `key_info` map
that will contain a map of each key with a corresponding object
containing the `key_type`.
- More granularity in audit logs: Audit request and response entires
are still in RFC3339 format but now have a granularity of
nanoseconds.
- High availability related values have been moved out of the
`storage` and `ha_storage` stanzas, and into the top-level
configuration. `redirect_addr` has been renamed to `api_addr`.
- A new `seal` stanza has been added to the configuration file, which
is optional and enables configuration of the seal type to use for
additional data protection, such as using HSM or Cloud KMS solutions
to encrypt and decrypt data.
FEATURES:
- RSA Support for Transit Backend: Transit backend can now generate
RSA keys which can be used for encryption and signing.
- Identity System: Now in open source and with significant
enhancements, Identity is an integrated system for understanding
users across tokens and enabling easier management of users directly
and via groups.
- External Groups in Identity: Vault can now automatically assign
users and systems to groups in Identity based on their membership in
external groups.
- Seal Wrap / FIPS 140-2 Compatibility (Enterprise): Vault can now
take advantage of FIPS 140-2-certified HSMs to ensure that Critical
Security Parameters are protected in a compliant fashion.
- Control Groups (Enterprise): Require multiple members of an Identity
group to authorize a requested action before it is allowed to run.
- Cloud Auto-Unseal (Enterprise): Automatically unseal Vault using AWS
KMS and GCP CKMS.
- Sentinel Integration (Enterprise): Take advantage of HashiCorp
Sentinel to create extremely flexible access control policies - even
on unauthenticated endpoints.
- Barrier Rekey Support for Auto-Unseal (Enterprise): When using
auto-unsealing functionality, the `rekey` operation is now
supported; it uses recovery keys to authorize the master key rekey.
- Operation Token for Disaster Recovery Actions (Enterprise): When
using Disaster Recovery replication, a token can be created that can
be used to authorize actions such as promotion and updating primary
information, rather than using recovery keys.
- Trigger Auto-Unseal with Recovery Keys (Enterprise): When using
auto-unsealing, a request to unseal Vault can be triggered by a
threshold of recovery keys, rather than requiring the Vault process to
be restarted.
- UI Redesign (Enterprise): All new experience for the Vault
Enterprise UI. The look and feel has been completely redesigned to
give users a better experience and make managing secrets fast and
easy.
- UI: SSH Secret Backend (Enterprise): Configure an SSH secret
backend, create and browse roles. And use them to sign keys or
generate one time passwords.
- UI: AWS Secret Backend (Enterprise): You can now configure the AWS
backend via the Vault Enterprise UI. In addition you can create
roles, browse the roles and Generate IAM Credentials from them
in the UI.
IMPROVEMENTS:
- api: Add ability to set custom headers on each call
- command/server: Add config option to disable requesting client
certificates
- core: Disallow mounting underneath an existing path, not just over
- physical/file: Use `700` as permissions when creating directories.
The files themselves were `600` and are all encrypted, but this
doesn't hurt.
- secret/aws: Add ability to use custom IAM/STS endpoints
- secret/cassandra: Work around Cassandra ignoring consistency levels
for a user listing query
- secret/pki: Private keys can now be marshalled as PKCS#8
- secret/pki: Allow entering URLs for `pki` as both comma-separated
strings and JSON arrays
- secret/ssh: Role TTL/max TTL can now be specified as either a string
or an integer
- secret/transit: Sign and verify operations now support a `none` hash
algorithm to allow signing/verifying pre-hashed data
- secret/database: Add the ability to glob allowed roles in the
Database Backend
- ui (enterprise): Support for RSA keys in the transit backend
- ui (enterprise): Support for DR Operation Token generation,
promoting, and updating primary on DR Secondary clusters
BUG FIXES:
- api: Fix panic when setting a custom HTTP client but with a nil
transport
- api: Fix authing to the `cert` backend when the CA for the client
cert is not known to the server's listener
- auth/approle: Create role ID index during read if a role is missing
one
- auth/aws: Don't allow mutually exclusive options
- auth/radius: Fix logging in in some situations
- core: Fix memleak when a connection would connect to the cluster
port and then go away
- core: Fix panic if a single-use token is used to step-down or seal
- core: Set rather than add headers to prevent some duplicated headers
in responses when requests were forwarded to the active node
- physical/etcd3: Fix some listing issues due to how etcd3 does prefix
matching
- physical/etcd3: Fix case where standbys can lose their etcd client
lease
- physical/file: Fix listing when underscores are the first component
of a path
- plugins: Allow response errors to be returned from backend plugins
- secret/transit: Fix panic if the length of the input ciphertext was
less than the expected nonce length
- ui (enterprise): Reinstate support for generic secret backends -
this was erroneously removed in a previous release
Pkgsrc changes:
* adapt PLIST
* remove patch which no longer applies
* apply patches for proper value domain for isxxxx() functions/macros
Upstream changes:
* time module (Wesley Shields)
* yara command-line tool now accept multiple rule files
* Allow a configurable limit for the number of strings per rule
(option --max-strings-per-rule)
* Implement integrity check for compiled rules
* Implement API for customizingimport statement (@edhoedt)
* Scan process memory in FreeBSD and OpenBDS (Hilko Bengen)
* BUGFIX: Negated character classes not working with case-insensitive
regexps (#765)
* BUGFIX: Multiple bugs while parsing ELF files (Nate Rosenblum)
* BUGFIX: Out-of-bounds access while parsing PE files.
* BUGFIX: Memory leaks while parsing invalid rules.
2.4.0:
[Feature]: Add a new passphrase kwarg to SSHClient.connect so users may disambiguate key-decryption passphrases from password-auth passwords. (This is a backwards compatible change; password will still pull double duty as a passphrase when passphrase is not given.)
[Support]: Drop Python 2.6 and Python 3.3 support; now only 2.7 and 3.4+ are supported. If you’re unable to upgrade from 2.6 or 3.3, please stick to the Paramiko 2.3.x (or below) release lines.
[Support]: Include LICENSE file in wheel archives.
[Support]: Updated the test suite & related docs/metadata/config to be compatible with pytest instead of using the old, custom, crufty unittest-based test.py.
This includes marking known-slow tests (mostly the SFTP ones) so they can be filtered out by inv test‘s default behavior; as well as other minor tweaks to test collection and/or display (for example, GSSAPI tests are collected, but skipped, instead of not even being collected by default as in test.py.)
[Support]: Update tearDown of client test suite to avoid hangs due to eternally blocking accept() calls on the internal server thread (which can occur when test code raises an exception before actually connecting to the server.)
Changes:
- Security: Fix double-free in server TCP listener cleanup
A double-free in the server could be triggered by an authenticated
user if dropbear is running with -a (Allow connections to forwarded
ports from any host)
This could potentially allow arbitrary code execution as root by an
authenticated user. Affects versions 2013.56 to 2016.74. Thanks to
Mark Shepard for reporting the crash.
CVE-2017-9078 https://secure.ucc.asn.au/hg/dropbear/rev/c8114a48837c
- Security: Fix information disclosure with ~/.ssh/authorized_keys
symlink. Dropbear parsed authorized_keys as root, even if it were
a symlink. The fix is to switch to user permissions when opening
authorized_keys
A user could symlink their ~/.ssh/authorized_keys to a root-owned
file they couldn't normally read. If they managed to get that file
to contain valid authorized_keys with command= options it might be
possible to read other contents of that file.
This information disclosure is to an already authenticated user.
Thanks to Jann Horn of Google Project Zero for reporting this.
CVE-2017-9079 https://secure.ucc.asn.au/hg/dropbear/rev/0d889b068123
- Generate hostkeys with dropbearkey atomically and flush to disk with
fsync. Thanks to Andrei Gherzan for a patch.
- Fix out of tree builds with bundled libtom
Thanks to Henrik Nordström and Peter Krefting for patches.
changes in version 2.2.2:
* gpg: Avoid duplicate key imports by concurrently running gpg
processes.
* gpg: Fix creating on-disk subkey with on-card primary key.
* gpg: Fix validity retrieval for multiple keyrings.
* gpg: Fix --dry-run and import option show-only for secret keys.
* gpg: Print "sec" or "sbb" for secret keys with import option
import-show.
* gpg: Make import less verbose.
* gpg: Add alias "Key-Grip" for parameter "Keygrip" and new
parameter "Subkey-Grip" to unattended key generation.
* gpg: Improve "factory-reset" command for OpenPGP cards.
* gpg: Ease switching Gnuk tokens into ECC mode by using the magic
keysize value 25519.
* gpgsm: Fix --with-colon listing in crt records for fields > 12.
* gpgsm: Do not expect X.509 keyids to be unique.
* agent: Fix stucked Pinentry when using --max-passphrase-days.
* agent: New option --s2k-count.
* dirmngr: Do not follow https-to-http redirects.
* dirmngr: Reduce default LDAP timeout from 100 to 15 seconds.
* gpgconf: Ignore non-installed components for commands
--apply-profile and --apply-defaults.
* Add configure option --enable-werror.
1.82 2017-10-31
Added support for building under Linuxbrew (a linuxbrew version of MacOS Homebrew)
Patch from Matthew Altus, that implements SSL_CTX_set_psk_client_callback() and SSL_set_psk_client_callback().
Patch to build with LibreSSL has no support for NPN
Also skip the NPN test if the SSL library is LibreSSL.
Fixed a problem with a variable declaration in ssleay_session_secret_cb_invoke reported by Graham Ollis.
Significant patch set from Open System Consultants:
- Bugfix: tlsext_status_cb_invoke(...): free ocsp_response only when allocated.
- The same callback is used on a server side for OCSP stapling and in that
case ocsp_response is NULL and not used.
- New feature: Added a binding SSL_set_session_ticket_ext_cb(ssl,callback,data)
- A callback used by EAP-FAST/EAP-TEAT to parse and process TLS session ticket.
- Tests are in t/local/65_ticket_sharing_2.t
- New feature: Added a binding SSL_set_session_ticket_ext(ssl,ticket)
- Used by EAP-FAST/EAP-TEAP to define TLS session ticket value.
- Tests are in t/local/65_ticket_sharing_2.t
- Bugfix: tlsext_ticket_key_cb_invoke(...): allow SHA256 HMAC key to be 32 bytes
instead of 16 bytes (which OpenSSL will pad with zeros up to 32 bytes).
- New feature: Added following bindings:
- X509_get_ex_data(cert,idx)
- X509_get_ex_new_index(argl,argp,new_func,dup_funL,free_func)
- X509_get_app_data(cert)
- X509_set_ex_data(cert,idx,data)
- X509_set_app_data(cert,arg)
- X509_STORE_CTX_get_ex_new_index(argl,argp,new_func,dup_func,free_func)
- X509_STORE_CTX_get_app_data(x509_store_ctx)
- X509_STORE_CTX_set_app_data(x509_store_ctx,arg)
- New feature: Added an implementation for SSL_get_finished(ssl,buf,count=2*EVP_MAX_MD_SIZE)
- Tests are in t/local/43_misc_functions.t
- New feature: Added an implementation for SSL_get_peer_finished(ssl,buf,count=2*EVP_MAX_MD_SIZE)
- Tests are in t/local/43_misc_functions.t
- Bugfix: SSL_get_keyblock_size(s): Calculate key block size correctly also with AEAD ciphers
which don’t use digest functions.
- New feature: Added a binding SSL_set_tlsext_status_ocsp_resp(ssl,staple)
- Used by a server side to include OCSP staple in ServerHello.
- Bugfix: SSL_OCSP_response_verify(ssl,rsp,svreq,flags): check that chain and last are not NULL
before trying to use them.
- Bugfix: inc/Module/Install/PRIVATE/Net/SSLeay.pm: Don’t quote include and lib paths.
2.052 2017/10/22
- disable NPN support if LibreSSL>=2.6.1 is detected since they've replaced the
functions with dummies instead of removing NPN completly or setting
OPENSSL_NO_NEXTPROTONEG
- t/01loadmodule.t shows more output helpful in debugging problems
- update fingerprints for extenal tests
- update documentation to make behavior of syswrite more clear
1.01 Sun Oct 22 16:04:22 MST 2017
- added optional $lsb argument for add_bits() method
-- many public vectors in least-significant-bit format
-- using $lsb flag results in simpler test code
- further minor optimizations in add_bits() and tests
1.1.0:
Correct behaviour when parsing a UPN passed in as the username
Enhanced the CBT hashes when using a certificate that has a hash algorithm that is greater than sha256
AsyncSSH is a Python package which provides an asynchronous client and server
implementation of the SSHv2 protocol on top of the Python 3.4+ asyncio
framework.
0.27.0:
- Fix licence: it is MIT, not BSD
- At least minimal support of SNI in httpslib.
- Small bugfixes and cleanups.
- More effort to make build system more robust (now should work even on
Debian LTS).
- Restore m2.rsa_set_e() and m2.rsa_set_n().
- Make sure that every exceptional return throws and exception and vice
versa.
Changes since 20170201:
+ Don't overwrite error messages generated by time checks, now the correct
error is printed instead of the generic "Signature does not match".
+ Remove extraneous newlines from time check errors.
Ok'd agc@
This library is used for communication with OpenVAS manager over
OMP. You can start, stop, pause and resume scan. Watch progress and
status of scan, download report, etc.
Ruby library for Nessus (version 6+) JSON/REST interface. This library
is used for communication with Nessus over REST interface. You can
start, stop, pause and resume scan. Watch progress and status of scan,
download report, etc.
A Ruby binding to the state-of-the-art Networking and Cryptography
library by Daniel J. Bernstein. This is NOT Google Native Client. This
is a crypto library.
- Revert "Move gdbus-codegen users to py-glib2-tools by including
glib2/buildtools.mk" 1f764df
- while here change to TOOL_DEPENDS
- switch from py-glib2-tools to glib2-tools
Upstream changes:
1.00 Sat Oct 14 18:08:10 MST 2017
- promoted to major release version 1.0
-- module stable enough not to be considered draft
- fixed alignment issue in BITS mode of addfile
-- surfaced only for large non-aligned inputs
Ruby Exploitation library for various exploitation helpers This gem
contains various helper mechanisms for creating exploits. This
includes SEH Overwrite helpers, egghunters, command stagers and more.
This library provides the basis for all of the polymorphic encoders
that Metasploit uses for payload encoding. Encoders are used to try
and create a version of a payload that is free of bad characters as
defined by the exploit.
Ruby Exploitation Library (REX) for Binary Manipulation. This suite of
tools contains ElfScan, MachScan, PEScan, and BinScan. These tools are
designed to help you analyze an executable binary and search for
particular instruction sets. This is particularly useful for things
like building ROP chains or SEH exploits.
This library contains the opty2 library for dynamic generation of x86
multi-byte NOPs.This is useful in writing exploits and encoders. It
allows you to dynamic generate variable length instruction sets that
are equivalent to a No Operation(NOP) without using the actual 0x90
bytecode.
The Ruby Exploitation (rex) Core Gem. This Gem contains the odds and
ends of code that so many other pieces of Rex rely upon, but that are
too small to be put into their own seperate gems. This include some of
the ruby cross-platform compatibility and file utility code.
2.3.1:
[Bug] 1071: Certificate support broke the no-certificate case for Ed25519 keys (symptom is an AttributeError about public_blob.) This went uncaught due to cert autoload behavior (i.e. our test suite never actually ran the no-cert case, because the cert existed!) Both issues have been fixed. Thanks to John Hu for the report.
Version 1.0.15
- The default password hashing algorithm is now Argon2id. The
`pwhash_str_verify()` function can still verify Argon2i hashes
without any changes, and `pwhash()` can still compute Argon2i hashes
as well.
- The aes128ctr primitive was removed. It was slow, non-standard, not
authenticated, and didn't seem to be used by any opensource project.
- Argon2id required at least 3 passes like Argon2i, despite a minimum
of `1` as defined by the `OPSLIMIT_MIN` constant. This has been fixed.
- The secretstream construction was slightly changed to be consistent
with forthcoming variants.
- The Javascript and Webassembly versions have been merged, and the
module now returns a `.ready` promise that will resolve after the
Webassembly code is loaded and compiled.
- Note that due to these incompatible changes, the library version
major was bumped up.
2.1:
FINAL DEPRECATION Python 2.6 support is deprecated, and will be removed in the next release of cryptography.
BACKWARDS INCOMPATIBLE: Whirlpool, RIPEMD160, and UnsupportedExtension have been removed in accordance with our :doc:`/api-stability` policy.
BACKWARDS INCOMPATIBLE: :attr:`~cryptography.x509.DNSName.value`, :attr:`~cryptography.x509.RFC822Name.value`, and :attr:`~cryptography.x509.UniformResourceIdentifier.value` will now return an :term:`A-label` string when parsing a certificate containing an internationalized domain name (IDN) or if the caller passed a :term:`U-label` to the constructor. See below for additional deprecations related to this change.
Installing cryptography now requires pip 6 or newer.
Deprecated passing :term:`U-label` strings to the :class:`~cryptography.x509.DNSName`, :class:`~cryptography.x509.UniformResourceIdentifier`, and :class:`~cryptography.x509.RFC822Name` constructors. Instead, users should pass values as :term:`A-label` strings with idna encoding if necessary. This change will not affect anyone who is not processing internationalized domains.
Added support for :class:`~cryptography.hazmat.primitives.ciphers.algorithms.ChaCha20`. In most cases users should choose :class:`~cryptography.hazmat.primitives.ciphers.aead.ChaCha20Poly1305` rather than using this unauthenticated form.
Added :meth:`~cryptography.x509.CertificateRevocationList.is_signature_valid` to :class:`~cryptography.x509.CertificateRevocationList`.
Support :class:`~cryptography.hazmat.primitives.hashes.BLAKE2b` and :class:`~cryptography.hazmat.primitives.hashes.BLAKE2s` with :class:`~cryptography.hazmat.primitives.hmac.HMAC`.
Added support for :class:`~cryptography.hazmat.primitives.ciphers.modes.XTS` mode for AES.
Added support for using labels with :class:`~cryptography.hazmat.primitives.asymmetric.padding.OAEP` when using OpenSSL 1.0.2 or greater.
Improved compatibility with NSS when issuing certificates from an issuer that has a subject with non-UTF8String string types.
Add support for the :class:`~cryptography.x509.DeltaCRLIndicator` extension.
Add support for the :class:`~cryptography.x509.TLSFeature` extension. This is commonly used for enabling OCSP Must-Staple in certificates.
Add support for the :class:`~cryptography.x509.FreshestCRL` extension.
Major changes in 1.14.6 (2017-09-25)
This is a bug fix release.
Fix a KDC denial of service vulnerability caused by unset status strings [CVE-2017-11368]
Preserve GSS contexts on init/accept failure [CVE-2017-11462]
Fix kadm5 setkey operation with LDAP KDB module
Use a ten-second timeout after successful connection for HTTPS KDC requests, as we do for TCP requests
Fix client null dereference when KDC offers encrypted challenge without FAST
Version 1.2.0.4:
Add support for Python 3.6.
Update to latest mixbox.
Emit proper xsi:type for AISMarkingStructure.
Implement hash for required objects
0.27 Wed Oct 4 00:40:04 MST 2017
- removed "portable" mode from sha3sum and addfile
-- rarely used, mostly in outdated systems
-- potentially confusing features (e.g. \r\r\n -> \n)
-- Universal Newlines mode (-U) a much cleaner approach
-- mimics Universal Newlines in Python
- sha3sum now depends explicitly on Digest::SHA3
-- eliminates runtime loading of modules
-- no future plans to write Digest::SHA3::PurePerl
5.98 Wed Oct 4 00:40:02 MST 2017
- removed "portable" mode from shasum and addfile
-- rarely used, mostly in outdated systems
-- potentially confusing features (e.g. \r\r\n -> \n)
-- Universal Newlines mode (-U) a much cleaner approach
-- mimics Universal Newlines in Python
- shasum now uses Digest::SHA explicitly
-- no longer loads Digest::SHA::PurePerl as an option
-- hence no need for -R switch
-- Digest::SHA::PurePerl has its own shasum: shasumpp
Potentially-incompatible changes
================================
This release includes a number of changes that may affect existing
configurations:
* ssh(1): delete SSH protocol version 1 support, associated
configuration options and documentation.
* ssh(1)/sshd(8): remove support for the hmac-ripemd160 MAC.
* ssh(1)/sshd(8): remove support for the arcfour, blowfish and CAST
ciphers.
* Refuse RSA keys <1024 bits in length and improve reporting for keys
that do not meet this requirement.
* ssh(1): do not offer CBC ciphers by default.
Changes since OpenSSH 7.5
=========================
This is primarily a bugfix release. It also contains substantial
internal refactoring.
Security
--------
* sftp-server(8): in read-only mode, sftp-server was incorrectly
permitting creation of zero-length files. Reported by Michal
Zalewski.
New Features
------------
* ssh(1): add RemoteCommand option to specify a command in the ssh
config file instead of giving it on the client's command line. This
allows the configuration file to specify the command that will be
executed on the remote host.
* sshd(8): add ExposeAuthInfo option that enables writing details of
the authentication methods used (including public keys where
applicable) to a file that is exposed via a $SSH_USER_AUTH
environment variable in the subsequent session.
* ssh(1): add support for reverse dynamic forwarding. In this mode,
ssh will act as a SOCKS4/5 proxy and forward connections
to destinations requested by the remote SOCKS client. This mode
is requested using extended syntax for the -R and RemoteForward
options and, because it is implemented solely at the client,
does not require the server be updated to be supported.
* sshd(8): allow LogLevel directive in sshd_config Match blocks;
bz#2717
* ssh-keygen(1): allow inclusion of arbitrary string or flag
certificate extensions and critical options.
* ssh-keygen(1): allow ssh-keygen to use a key held in ssh-agent as
a CA when signing certificates. bz#2377
* ssh(1)/sshd(8): allow IPQoS=none in ssh/sshd to not set an explicit
ToS/DSCP value and just use the operating system default.
* ssh-add(1): added -q option to make ssh-add quiet on success.
* ssh(1): expand the StrictHostKeyChecking option with two new
settings. The first "accept-new" will automatically accept
hitherto-unseen keys but will refuse connections for changed or
invalid hostkeys. This is a safer subset of the current behaviour
of StrictHostKeyChecking=no. The second setting "off", is a synonym
for the current behaviour of StrictHostKeyChecking=no: accept new
host keys, and continue connection for hosts with incorrect
hostkeys. A future release will change the meaning of
StrictHostKeyChecking=no to the behaviour of "accept-new". bz#2400
* ssh(1): add SyslogFacility option to ssh(1) matching the equivalent
option in sshd(8). bz#2705
Bugfixes
--------
* ssh(1): use HostKeyAlias if specified instead of hostname for
matching host certificate principal names; bz#2728
* sftp(1): implement sorting for globbed ls; bz#2649
* ssh(1): add a user@host prefix to client's "Permission denied"
messages, useful in particular when using "stacked" connections
(e.g. ssh -J) where it's not clear which host is denying. bz#2720
* ssh(1): accept unknown EXT_INFO extension values that contain \0
characters. These are legal, but would previously cause fatal
connection errors if received.
* ssh(1)/sshd(8): repair compression statistics printed at
connection exit
* sftp(1): print '?' instead of incorrect link count (that the
protocol doesn't provide) for remote listings. bz#2710
* ssh(1): return failure rather than fatal() for more cases during
session multiplexing negotiations. Causes the session to fall back
to a non-mux connection if they occur. bz#2707
* ssh(1): mention that the server may send debug messages to explain
public key authentication problems under some circumstances; bz#2709
* Translate OpenSSL error codes to better report incorrect passphrase
errors when loading private keys; bz#2699
* sshd(8): adjust compatibility patterns for WinSCP to correctly
identify versions that implement only the legacy DH group exchange
scheme. bz#2748
* ssh(1): print the "Killed by signal 1" message only at LogLevel
verbose so that it is not shown at the default level; prevents it
from appearing during ssh -J and equivalent ProxyCommand configs.
bz#1906, bz#2744
* ssh-keygen(1): when generating all hostkeys (ssh-keygen -A), clobber
existing keys if they exist but are zero length. zero-length keys
could previously be made if ssh-keygen failed or was interrupted part
way through generating them. bz#2561
* ssh(1): fix pledge(2) violation in the escape sequence "~&" used to
place the current session in the background.
* ssh-keyscan(1): avoid double-close() on file descriptors; bz#2734
* sshd(8): avoid reliance on shared use of pointers shared between
monitor and child sshd processes. bz#2704
* sshd_config(8): document available AuthenticationMethods; bz#2453
* ssh(1): avoid truncation in some login prompts; bz#2768
* sshd(8): Fix various compilations failures, inc bz#2767
* ssh(1): make "--" before the hostname terminate argument processing
after the hostname too.
* ssh-keygen(1): switch from aes256-cbc to aes256-ctr for encrypting
new-style private keys. Fixes problems related to private key
handling for no-OpenSSL builds. bz#2754
* ssh(1): warn and do not attempt to use keys when the public and
private halves do not match. bz#2737
* sftp(1): don't print verbose error message when ssh disconnects
from under sftp. bz#2750
* sshd(8): fix keepalive scheduling problem: activity on a forwarded
port from preventing the keepalive from being sent; bz#2756
* sshd(8): when started without root privileges, don't require the
privilege separation user or path to exist. Makes running the
regression tests easier without touching the filesystem.
* Make integrity.sh regression tests more robust against timeouts.
bz#2658
* ssh(1)/sshd(8): correctness fix for channels implementation: accept
channel IDs greater than 0x7FFFFFFF.
Portability
-----------
* sshd(9): drop two more privileges in the Solaris sandbox:
PRIV_DAX_ACCESS and PRIV_SYS_IB_INFO; bz#2723
* sshd(8): expose list of completed authentication methods to PAM
via the SSH_AUTH_INFO_0 PAM environment variable. bz#2408
* ssh(1)/sshd(8): fix several problems in the tun/tap forwarding code,
mostly to do with host/network byte order confusion. bz#2735
* Add --with-cflags-after and --with-ldflags-after configure flags to
allow setting CFLAGS/LDFLAGS after configure has completed. These
are useful for setting sanitiser/fuzzing options that may interfere
with configure's operation.
* sshd(8): avoid Linux seccomp violations on ppc64le over the
socketcall syscall.
* Fix use of ldns when using ldns-config; bz#2697
* configure: set cache variables when cross-compiling. The cross-
compiling fallback message was saying it assumed the test passed,
but it wasn't actually set the cache variables and this would
cause later tests to fail.
* Add clang libFuzzer harnesses for public key parsing and signature
verification.
2.0.4 (2017-09-17)
------------------
* Fixed typo that caused OAuthlib to crash because of the fix in
"Address missing OIDC errors and fix a typo in the AccountSelectionRequired
exception".
Revision 0.3.6:
* End-of-octets encoding optimized at ASN.1 encoders
* The __getitem__/__setitem__ behavior of Set/Sequence and SetOf/SequenceOf objects aligned with the canonical Mapping and Sequence protocols in part
* Fixed crash in ASN.1 encoder when encoding an explicitly tagged component of a Sequence
version 2.2.1:
* gpg: Fix formatting of the user id in batch mode key generation
if only "name-email" is given.
* gpgv: Fix annoying "not suitable for" warnings.
* wks: Convey only the newest user id to the provider. This is the
case if different names are used with the same addr-spec.
* wks: Create a complying user id for provider policy mailbox-only.
* wks: Add workaround for posteo.de.
* scd: Fix the use of large ECC keys with an OpenPGP card.
* dirmngr: Use system provided root certificates if no specific HKP
certificates are configured. If build with GNUTLS, this was
already the case.
0.23.0:
Backwards compatibility break: the tag_type, explicit_tag and explicit_class attributes on core.Asn1Value no longer exist and were replaced by the implicit and explicit attributes. Field param dicts may use the new explicit and implicit keys, or the old tag_type and tag keys. The attribute changes will likely to have little to no impact since they were primarily an implementation detail.
Teletex strings used inside of X.509 certificates are now interpreted using Windows-1252 (a superset of ISO-8859-1). This enables compatibility with certificates generated by OpenSSL. Strict parsing of Teletex strings can be retained by using the x509.strict_teletex() context manager.
Added support for nested explicit tagging, supporting values that are defined with explicit tagging and then added as a field of another structure using explicit tagging.
Fixed a UnicodeDecodeError when trying to find the (optional) dependency OpenSSL on Python 2
Fixed next_update field of crl.TbsCertList to be optional
Added the x509.Certificate.sha256_fingerprint property
x509.Certificate.ocsp_urls and x509.DistributionPoint.url will now return https://, ldap:// and ldaps:// URLs in addition to http://.
Added CMS Attribute Protection definitions from RFC 6211
Added OIDs from RFC 6962
3.4.7:
New features
* API documentation is made with sphinx instead of epydoc.
* Start using ``importlib`` instead of ``imp``` where available.
Resolved issues
* Fixed PEM header for RSA/DSA public keys.
- An issue where Certbot's ACME module would raise an AttributeError
trying to create self-signed certificates when used with pyOpenSSL
17.3.0 has been resolved. For Certbot users with this version of
pyOpenSSL, this caused Certbot to crash when performing a TLS SNI
challenge or when the Nginx plugin tried to create an SSL server
block.
CHANGES:
- Policy input/output standardization: For all built-in authentication
backends, policies can now be specified as a comma-delimited string or an
array if using JSON as API input; on read, policies will be returned as an
array; and the `default` policy will not be forcefully added to policies
saved in configurations. Please note that the `default` policy will continue
to be added to generated tokens, however, rather than backends adding
`default` to the given set of input policies (in some cases, and not in
others), the stored set will reflect the user-specified set.
- `sign-self-issued` modifies Issuer in generated certificates: In 0.8.2 the
endpoint would not modify the Issuer in the generated certificate, leaving
the output self-issued. Although theoretically valid, in practice crypto
stacks were unhappy validating paths containing such certs. As a result,
`sign-self-issued` now encodes the signing CA's Subject DN into the Issuer
DN of the generated certificate.
- `sys/raw` requires enabling: While the `sys/raw` endpoint can be extremely
useful in break-glass or support scenarios, it is also extremely dangerous.
As of now, a configuration file option `raw_storage_endpoint` must be set in
order to enable this API endpoint. Once set, the available functionality has
been enhanced slightly; it now supports listing and decrypting most of
Vault's core data structures, except for the encryption keyring itself.
- `generic` is now `kv`: To better reflect its actual use, the `generic`
backend is now `kv`. Using `generic` will still work for backwards
compatibility.
FEATURES:
- GCE Support for GCP Auth: GCE instances can now authenticate to Vault
using machine credentials.
- Support for Kubernetes Service Account Auth: Kubernetes Service Accounts
can now authenticate to vault using JWT tokens.
IMPROVEMENTS:
- configuration: Provide a config option to store Vault server's process ID
(PID) in a file
- mfa (Enterprise): Add the ability to use identity metadata in username
format
- mfa/okta (Enterprise): Add support for configuring base_url for API calls
- secret/pki: `sign-intermediate` will now allow specifying a `ttl` value
longer than the signing CA certificate's NotAfter value.
- sys/raw: Raw storage access is now disabled by default
BUG FIXES:
- auth/okta: Fix regression that removed the ability to set base_url
- core: Fix panic while loading leases at startup on ARM processors
- secret/pki: Fix `sign-self-issued` encoding the wrong subject public key
2.14 2017.07.03
- DSA key bugfix: verify would fail if r had unnecessary leading zeros
2.13 2017.06.30
- Bug Fix: AES-CBC IV length needs to be blocksize, not keysize
- Bug Fix: DES3 init needs to pass key as variable to avoid scalar error
- Bug Fix: Packet padlen decode was using signed 8-bit unpack (should be unsigned)
- Fix CBC inefficiency
- Fix Key not being loaded prior to Agent use [ https://github.com/lkinley/Net-SSH-Perl/issues/10 ]
Revision 0.3.5:
Codecs signatures unified and pass the options kwargs through the call chain
Explicit tag encoding optimized to avoid unnecessary copying
End-of-octets sentinel encoding optimized
Refactored ASN.1 codecs properties to silently enforce proper length and chunk size encoding modes
Fixed DER encoder to always produce primitive encoding
Fixed crash at SequenceOf native decoder
Fixed Real.prettyPrint() to fail gracefully on overflow
Fixed a couple of crashes when debug mode is enabled
17.3.0
Backward-incompatible changes:
* Dropped support for Python 3.3.
* Removed the deprecated OpenSSL.rand module. This is being done ahead of our normal deprecation schedule due to its lack of use and the fact that it was becoming a maintenance burden. os.urandom() should be used instead.
Deprecations:
* Deprecated OpenSSL.tsafe.
Changes:
* Fixed a memory leak in OpenSSL.crypto.CRL.
* Fixed a memory leak when verifying certificates with OpenSSL.crypto.X509StoreContext.
New binaries have been added for the following platforms:
- aarch64-iphone-darwin
- arm-iphone-darwin
- darwin.x86_64
- i686-w64-mingw32
- x86_64-apple-darwin
Automatically includes Modules from
app/concerns/<module_with_concerns>/<concern>.rb into
<module_with_concerns> to ease monkey-patching associations and
validations on ActiveRecord::Base descendents from other gems when
layering schemas.
in ../libpreludedb via its Makefile.common. The extra one appears to
have been accidentally created while adding new distinfo hash
functions a couple years back.
This came to light because a new patch over the weekend didn't get
into this copy, and it seems that if a distinfo file appears in the
current directory, pkglint ignores the setting of ${DISTINFO_FILE}
even if it points somewhere else. Which is probably a bug.
- The Nginx plugin now configures Nginx to use 2048-bit Diffie-Hellman
parameters.
- certbot-auto now installs Certbot in directories under /opt/eff.org.
- The Nginx plugin can now be selected in Certbot's interactive output.
- Output verbosity of renewal failures when running with --quiet has
been reduced.
- The default revocation reason shown in Certbot help output now is a
human readable string instead of a numerical code.
- Plugin selection is now included in normal terminal output.
- A newer version of ConfigArgParse is now installed when using
certbot-auto causing values set to false in a Certbot INI
configuration file to be handled intuitively.
- New naming conventions preventing certbot-auto from installing OS
dependencies on Fedora 26 have been resolved.
* Fixed a bug introduced in version 1.8.21 which prevented sudo
from using the PAM-supplied prompt. Bug 799
* Fixed a bug introduced in version 1.8.21 which could result in
sudo hanging when running commands that exit quickly. Bug 800
* Fixed a bug introduced in version 1.8.21 which prevented the
command from being run when the password was read via an external
program using the askpass interface. Bug 801
What's new in Sudo 1.8.21p1
* On systems that support both PAM and SIGINFO, the main sudo
process will no longer forward SIGINFO to the command if the
signal was generated from the keyboard. The command will have
already received SIGINFO since it is part of the same process
group so there's no need for sudo to forward it. This is
consistent with the handling of SIGINT, SIGQUIT and SIGTSTP.
Bug 796
* If SUDOERS_SEARCH_FILTER in ldap.conf does not specify a value,
the LDAP search expression used when looking up netgroups and
non-Unix groups had a syntax error if a group plugin was not
specified.
* "sudo -U otheruser -l" will now have an exit value of 0 even
if "otheruser" has no sudo privileges. The exit value when a
user attempts to lists their own privileges or when a command
is specified is unchanged.
* Fixed a regression introduced in sudo 1.8.21 where sudoreplay
playback would hang for I/O logs that contain terminal input.
* Sudo 1.8.18 contained an incomplete fix for the matching of
entries in the LDAP and SSSD backends when a sudoRunAsGroup is
specified but no sudoRunAsUser is present in the sudoRole.
What's new in Sudo 1.8.21
* The path that sudo uses to search for terminal devices can now
be configured via the new "devsearch" Path setting in sudo.conf.
* It is now possible to preserve bash shell functions in the
environment when the "env_reset" sudoers setting is disabled by
removing the "*=()*" pattern from the env_delete list.
* A change made in sudo 1.8.15 inadvertantly caused sudoedit to
send itself SIGHUP instead of exiting when the editor returns
an error or the file was not modified.
* Sudoedit now uses an exit code of zero if the file was not
actually modified. Previously, sudoedit treated a lack of
modifications as an error.
* When running a command in a pseudo-tty (pty), sudo now copies a
subset of the terminal flags to the new pty. Previously, all
flags were copied, even those not appropriate for a pty.
* Fixed a problem with debug logging in the sudoers I/O logging
plugin.
* Window size change events are now logged to the policy plugin.
On xterm and compatible terminals, sudoreplay is now capable of
resizing the terminal to match the size of the terminal the
command was run on. The new -R option can be used to disable
terminal resizing.
* Fixed a bug in visudo where a newly added file was not checked
for syntax errors. Bug 791.
* Fixed a bug in visudo where if a syntax error in an include
directory (like /etc/sudoers.d) was detected, the edited version
was left as a temporary file instead of being installed.
* On PAM systems, sudo will now treat "username's Password:" as
a standard password prompt. As a result, the SUDO_PROMPT
environment variable will now override "username's Password:"
as well as the more common "Password:". Previously, the
"passprompt_override" Defaults setting would need to be set for
SUDO_PROMPT to override a prompt of "username's Password:".
* A new "syslog_pid" sudoers setting has been added to include
sudo's process ID along with the process name when logging via
syslog. Bug 792.
* Fixed a bug introduced in sudo 1.8.18 where a command would
not be terminated when the I/O logging plugin returned an error
to the sudo front-end.
* A new "timestamp_type" sudoers setting has been added that replaces
the "tty_tickets" option. In addition to tty and global time stamp
records, it is now possible to use the parent process ID to restrict
the time stamp to commands run by the same process, usually the shell.
Bug 793.
* The --preserve-env command line option has been extended to accept
a comma-separated list of environment variables to preserve.
Bug 279.
* Friulian translation for sudo from translationproject.org.
Fixes SSP build, which otherwise breaks in configure:
cc1: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C
ld: /var/tmp//ccfWqlYy.o: warning: relocation against `__stack_chk_fail' in readonly section `.text.startup'
ld: /var/tmp//ccfWqlYy.o: relocation R_X86_64_PC32 against symbol `__stack_chk_fail' can not be used when making a shared object; recompile with -fPIC
ld: final link failed: Bad value
configure: failed program was:
#line 10722 "configure"
#include "confdefs.h"
int main() {
; return 0; }
configure: error: --enable-pie requires PIE support from the linker.
=== 4.2.0.rc2
* Fix double close bug on auth failure (or ruby 2.2 or earlier) [#538]
=== 4.2.0.rc1
* Improved logging with proxy command [Dmitriy Ivliev, #530]
* Close transport on proxy error [adamruzicka, #526]
* Support multiple identity files [Kimura Masayuki, #528]
* Move `none` cipher to end of cipher list [Brian Cain, #525]
* Deprecate `:paranoid` in favor of `:verify_host_key` [Jared Beck, #524]
* Support Multile Include ssh config files [Kasumi Hanazuki, #516]
* Support Relative path in ssh confif files [Akinori MUSHA, #510]
* add direct-streamlocal@openssh.com support in Forward class [Harald Sitter, #502]
2.051 2017/09/05
- syswrite: if SSL_write sets SSL_ERROR_SYSCALL but no $! (as seen with
OpenSSL 1.1.0 on Windows) set $! to EPIPE to propagate a useful error up
https://github.com/noxxi/p5-io-socket-ssl/issues/62
- Fixed Native encoder to handle SEQUENCE/SET objects without
the componentType property
- Added missing component-less SEQUENCE/SET objects dict duck-typing support
- Fixed unnecessary duplicate tags detection at NamesType.tagMap
- Fixed crash at SEQUENCE and SEQUENCE OF CER encoder when running
in schemaless mode
- Fixed Character types instantiation from OctetString type -- double
unicode decoding may have scrambled the data
* Address missing OIDC errors and fix a typo in the AccountSelectionRequired exception.
* Update proxy keys on CaseInsensitiveDict.update().
* Redirect errors according to OIDC's response_mode.
* Added universal wheel support.
* Added log statements to except clauses.
* According to RC7009 Section 2.1, a client should include authentication credentials when revoking its tokens.
As discussed in 339, this is not make sense for public clients.
However, in that case, the public client should still be checked that is infact a public client (authenticate_client_id).
* Improved prompt parameter validation.
* Added two error codes from RFC 6750.
* Hybrid response types are now be fragment-encoded.
* Added Python 3.6 to Travis CI testing and trove classifiers.
* Fixed BytesWarning issued when using a string placeholder for bytes object.
* Documented PyJWT dependency and improved logging and exception messages.
* Documentation improvements and fixes.
### Added
- The Nginx plugin now configures Nginx to use 2048-bit Diffie-Hellman
parameters.
### Changed
- certbot-auto now installs Certbot in directories under `/opt/eff.org`.
- The Nginx plugin can now be selected in Certbot's interactive output.
- Output verbosity of renewal failures when running with `--quiet` has
been reduced.
- The default revocation reason shown in Certbot help output now is a
human readable string instead of a numerical code.
- Plugin selection is now included in normal terminal output.
### Fixed
- A newer version of ConfigArgParse is now installed when using
certbot-auto causing values set to false in a Certbot INI
configuration file to be handled intuitively.
- New naming conventions preventing certbot-auto from installing OS
dependencies on Fedora 26 have been resolved.
* Version 3.6.0 (released 2017-08-21)
** libgnutls: tlsfuzzer is part of the CI testsuite. This is a TLS testing and
fuzzying toolkit, allowing for corner case testing, and ensuring that the
behavior of the library will not change across releases.
https://github.com/tomato42/tlsfuzzer
** libgnutls: Introduced a lock-free random generator which operates per-thread
and eliminates random-generator related bottlenecks in multi-threaded operation.
Resolves gitlab issue #141.
http://nmav.gnutls.org/2017/03/improving-by-simplifying-gnutls-prng.html
** libgnutls: Replaced the Salsa20 random generator with one based on CHACHA.
The goal is to reduce code needed in cache (CHACHA is also used for TLS),
and the number of primitives used by the library. That does not affect the
AES-DRBG random generator used in FIPS140-2 mode.
** libgnutls: Added support for RSA-PSS key type as well as signatures in
certificates, and TLS key exchange. Contributed by Daiki Ueno.
RSA-PSS signatures can be generated by RSA-PSS keys and normal RSA keys,
but not vice-versa. The feature includes:
* RSA-PSS key generation and key handling (in PKCS#8 form)
* RSA-PSS key generation and key handling from PKCS#11 (with CKM_RSA_PKCS_PSS mech)
* Handling of RSA-PSS subjectPublicKeyInfo parameters, when present
in either the private key or certificate.
* RSA-PSS signing and verification of PKIX certificates
* RSA-PSS signing and verification of TLS 1.2 handshake
* RSA-PSS signing and verification of PKCS#7 structures
* RSA-PSS and RSA key combinations for TLS credentials. That is, when
multiple keys are supplied, RSA-PSS keys are preferred over RSA for RSA-PSS
TLS signatures, to contain risks of cross-protocol attacks between the algorithms.
* RSA-PSS key conversion to RSA PKCS#1 form (certtool --to-rsa)
Note that RSA-PSS signatures with SHA1 are (intentionally) not supported.
** libgnutls: Added support for Ed25519 signing in certificates and TLS key
exchange following draft-ietf-tls-rfc4492bis-17. The feature includes:
* Ed25519 key generation and key handling (in PKCS#8 form)
* Ed25519 signing and verification of PKIX certificates
* Ed25519 signing and verification of TLS 1.2 handshake
* Ed25519 signing and verification of PKCS#7 structures
** libgnutls: Enabled X25519 key exchange by default, following draft-ietf-tls-rfc4492bis-17.
** libgnutls: Added support for Diffie-Hellman group negotiation following RFC7919.
That makes the DH parameters negotiation more robust and less prone to errors
due to insecure parameters. Servers are no longer required to specific explicit
DH parameters, though if they do these parameters will be used. Group
selection can be done via priority strings. The introduced strings are
GROUP-ALL, GROUP-FFDHE2048, GROUP-FFDHE3072, GROUP-FFDHE4096 and
GROUP-FFDHE8192, as well as the corresponding to curves groups. Note that
the 6144 group from RFC7919 is not supported.
** libgnutls: Introduced various sanity checks on certificate import. Refuse
to import certificates which have fractional seconds in Time fields, X.509v1
certificates which have the unique identifiers set, and certificates with illegal
version numbers. All of these are prohibited by RFC5280.
** libgnutls: Introduced gnutls_x509_crt_set_flags(). This function can set flags
in the crt structure. The only flag supported at the moment is
GNUTLS_X509_CRT_FLAG_IGNORE_SANITY which skips the certificate sanity
checks on import.
** libgnutls: PKIX certificates with unknown critical extensions are rejected
on verification with status GNUTLS_CERT_UNKNOWN_CRIT_EXTENSIONS. This
behavior can be overriden by providing the flag GNUTLS_VERIFY_IGNORE_UNKNOWN_CRIT_EXTENSIONS
to verification functions. Resolves gitlab issue #177.
** libgnutls: Refuse to generate a certificate with an illegal version, or an
illegal serial number. That is, gnutls_x509_crt_set_version() and
gnutls_x509_crt_set_serial(), will fail on input considered to be invalid
in RFC5280.
** libgnutls: Calls to gnutls_record_send() and gnutls_record_recv()
prior to handshake being complete are now refused. Addresses gitlab issue #158.
** libgnutls: Added support for PKCS#12 files with no salt (zero length) in their
password encoding, and PKCS#12 files using SHA384 and SHA512 as MAC.
** libgnutls: Exported functions to encode and decode DSA and ECDSA r,s values.
** libgnutls: Added new callback setting function to gnutls_privkey_t for external
keys. The new function (gnutls_privkey_import_ext4), allows signing in addition
to previous algorithms (RSA PKCS#1 1.5, DSA, ECDSA), with RSA-PSS and Ed25519
keys.
** libgnutls: Introduced the %VERIFY_ALLOW_BROKEN and %VERIFY_ALLOW_SIGN_WITH_SHA1
priority string options. These allows enabling all broken and SHA1-based signature
algorithms in certificate verification, respectively.
** libgnutls: 3DES-CBC is no longer included in the default priorities
list. It has to be explicitly enabled, e.g., with a string like
"NORMAL:+3DES-CBC".
** libgnutls: SHA1 was marked as insecure for signing certificates. Verification
of certificates signed with SHA1 is now considered insecure and will
fail, unless flags intended to enable broken algorithms are set. Other uses
of SHA1 are still allowed. This can be reverted on compile time with the configure
flag --enable-sha1-support.
** libgnutls: RIPEMD160 was marked as insecure for certificate signatures. Verification
of certificates signed with RIPEMD160 hash algorithm is now considered insecure and
will fail, unless flags intended to enable broken algorithms are set.
** libgnutls: No longer enable SECP192R1 and SECP224R1 by default on TLS handshakes.
These curves were rarely used for that purpose, provide no advantage over
x25519 and were deprecated by TLS 1.3.
** libgnutls: Removed support for DEFLATE, or any other compression method.
** libgnutls: OpenPGP authentication was removed; the resulting library is ABI
compatible, with the openpgp related functions being stubs that fail
on invocation.
** libgnutls: Removed support for libidn (i.e., IDNA2003); gnutls can now be compiled
only with libidn2 which provides IDNA2008.
** certtool: The option '--load-ca-certificate' can now accept PKCS#11
URLs in addition to files.
** certtool: The option '--load-crl' can now be used when generating PKCS#12
files (i.e., in conjunction with '--to-p12' option).
** certtool: Keys with provable RSA and DSA parameters are now only read and
exported from PKCS#8 form, following draft-mavrogiannopoulos-pkcs8-validated-parameters-00.txt.
This removes support for the previous a non-standard key format.
** certtool: Added support for generating, printing and handling RSA-PSS and
Ed25519 keys and certificates.
** certtool: the parameters --rsa, --dsa and --ecdsa to --generate-privkey are now
deprecated, replaced by the --key-type option.
** p11tool: The --generate-rsa, --generate-ecc and --generate-dsa options were
replaced by the --generate-privkey option.
** psktool: Generate 256-bit keys by default.
** gnutls-server: Increase request buffer size to 16kb, and added the --alpn and
--alpn-fatal options, allowing testing of ALPN negotiation.
** API and ABI modifications:
gnutls_encode_rs_value: Added
gnutls_decode_rs_value: Added
gnutls_base64_encode2: Added
gnutls_base64_decode2: Added
gnutls_x509_crt_set_flags: Added
gnutls_x509_crt_check_ip: Added
gnutls_x509_ext_import_inhibit_anypolicy: Added
gnutls_x509_ext_export_inhibit_anypolicy: Added
gnutls_x509_crt_get_inhibit_anypolicy: Added
gnutls_x509_crt_set_inhibit_anypolicy: Added
gnutls_pubkey_export_rsa_raw2: Added
gnutls_pubkey_export_dsa_raw2: Added
gnutls_pubkey_export_ecc_raw2: Added
gnutls_privkey_export_rsa_raw2: Added
gnutls_privkey_export_dsa_raw2: Added
gnutls_privkey_export_ecc_raw2: Added
gnutls_x509_spki_init: Added
gnutls_x509_spki_deinit: Added
gnutls_x509_spki_get_pk_algorithm: Added
gnutls_x509_spki_set_pk_algorithm: Added
gnutls_x509_spki_get_digest_algorithm: Added
gnutls_x509_spki_set_digest_algorithm: Added
gnutls_x509_spki_get_salt_size: Added
gnutls_x509_spki_set_salt_size: Added
gnutls_x509_crt_set_spki: Added
gnutls_x509_crt_get_spki: Added
gnutls_x509_privkey_get_spki: Added
gnutls_x509_privkey_set_spki: Added
gnutls_x509_crq_get_spki: Added
gnutls_x509_crq_set_spki: Added
gnutls_pubkey_set_spki: Added
gnutls_pubkey_get_spki: Added
gnutls_privkey_set_spki: Added
gnutls_privkey_get_spki: Added
gnutls_privkey_import_ext4: Added
GNUTLS_EXPORT_FLAG_NO_LZ: Added
GNUTLS_DT_IP_ADDRESS: Added
GNUTLS_X509_CRT_FLAG_IGNORE_SANITY: Added
GNUTLS_CERT_UNKNOWN_CRIT_EXTENSIONS: Added
GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1: Added
GNUTLS_VERIFY_DO_NOT_ALLOW_IP_MATCHES: Added
GNUTLS_VERIFY_IGNORE_UNKNOWN_CRIT_EXTENSIONS: Added
GNUTLS_SFLAGS_RFC7919: Added
Upstream changes:
0.26 Wed Sep 6 02:23:08 MST 2017
- added 'quiet' option to sha3sum
-- thanks to Chris David for suggestion and initial patch
-- ref. rt.cpan.org #122750
- expanded sha3sum --help message
-- to explain use of escaped FILE names
Upstream changes:
5.97 Wed Sep 6 02:23:02 MST 2017
- added 'quiet' option to shasum
-- thanks to Chris David for suggestion and initial patch
-- ref. rt.cpan.org #122750
- expanded shasum --help message
-- to explain use of escaped FILE names
SECURITY:
- In prior versions of Vault, if authenticating via AWS IAM and
requesting a periodic token, the period was not properly respected.
This could lead to tokens expiring unexpectedly, or a token lifetime
being longer than expected. Upon token renewal with Vault 0.8.2 the
period will be properly enforced.
DEPRECATIONS/CHANGES:
- `vault ssh` users should supply `-mode` and `-role` to reduce the
number of API calls. A future version of Vault will mark these
optional values are required. Failure to supply `-mode` or `-role`
will result in a warning.
- Vault plugins will first briefly run a restricted version of the
plugin to fetch metadata, and then lazy-load the plugin on first
request to prevent crash/deadlock of Vault during the unseal process.
Plugins will need to be built with the latest changes in order for them
to run properly.
FEATURES:
- Lazy Lease Loading: On startup, Vault will now load leases from
storage in a lazy fashion (token checks and revocation/renewal
requests still force an immediate load). For larger installations this
can significantly reduce downtime when switching active nodes or
bringing Vault up from cold start.
- SSH CA Login with `vault ssh`: `vault ssh` now supports the SSH CA
backend for authenticating to machines. It also supports remote host
key verification through the SSH CA backend, if enabled.
- Signing of Self-Issued Certs in PKI: The `pki` backend now supports
signing self-issued CA certs. This is useful when switching root CAs.
IMPROVEMENTS:
- audit/file: Allow specifying `stdout` as the `file_path` to log to
standard output
- auth/aws: Allow wildcards in `bound_iam_principal_id`
- auth/okta: Compare groups case-insensitively since Okta is only
case-preserving
- auth/okta: Standarize Okta configuration APIs across backends
- cli: Add subcommand autocompletion that can be enabled with `vault
-autocomplete-install`
- cli: Add ability to handle wrapped responses when using `vault auth`.
What is output depends on the other given flags; see the help output
for that command for more information.
- core: TLS cipher suites used for cluster behavior can now be set via
`cluster_cipher_suites` in configuration
- core: The `plugin_name` can now either be specified directly as part
of the parameter or within the `config` object when mounting a secret
or auth backend via `sys/mounts/:path` or `sys/auth/:path` respectively
- core: It is now possible to update the `description` of a mount when
mount-tuning, although this must be done through the HTTP layer
- secret/databases/mongo: If an EOF is encountered, attempt reconnecting
and retrying the operation
- secret/pki: TTLs can now be specified as a string or an integer number
of seconds
- secret/pki: Self-issued certs can now be signed via
`pki/root/sign-self-issued`
- storage/gcp: Use application default credentials if they exist
BUG FIXES:
- auth/aws: Properly use role-set period values for IAM-derived token
renewals
- auth/okta: Fix updating organization/ttl/max_ttl after initial setting
- core: Fix PROXY when underlying connection is TLS
- core: Policy-related commands would sometimes fail to act
case-insensitively
- storage/consul: Fix parsing TLS configuration when using a bare IPv6
address
- plugins: Lazy-load plugins to prevent crash/deadlock during unseal
process.
- plugins: Skip mounting plugin-based secret and credential mounts when
setting up mounts if the plugin is no longer present in the catalog.
This library handles the low-level details of NTLM authentication for use
in authenticating with a service that uses NTLM. It will create and parse
the 3 different message types in the order required and produce a base64
encoded value that can be attached to the HTTP header.
Features:
- LM, NTLM and NTLMv2 authentication
- NTLM1 and NTLM2 extended session security
- Set the The NTLM Compatibility level when sending messages
- Channel Binding Tokens support, need to pass in the SHA256 hash of the
certificate for it to work
- Support for MIC to enhance the integrity of the messages
- Support for session security with signing and sealing messages after
authentication happens
2.0.3 (2016-09-04)
=========================
- Improved error reporting when reading / writing databases fails. [#450, #462]
- Display an error message when opening a custom icon fails.
- Detect custom icon format based on contents instead of the filename. [#512]
- Keep symlink intact when saving databases. [#442].
- Fix a crash when deleting parent group of recycle bin. [#520]
- Display a confirm dialog before moving an entry to the recycle bin. [#447]
- Repair UUIDs of inconsistent history items. [#130]
- Only include top-level windows in auto-type window list when using gnome-shell.
- Update translations.
2.050 2017/08/18
- removed unecessary settings of SSL_version and SSL_cipher_list from tests
- protocol_version.t can now deal when TLS 1.0 and/or TLS 1.1 are not supported
as is the case with openssl versions in latest Debian (buster)