split build and check jobs #482
Annotations
219 warnings
WA_NOT_IN_LOOP:
core/src/main/java/com/yubico/yubikit/core/application/CommandState.java#L59
Wait not in loop in com.yubico.yubikit.core.application.CommandState.waitForCancel(long)
|
CT_CONSTRUCTOR_THROW:
core/src/main/java/com/yubico/yubikit/core/fido/FidoProtocol.java#L49
Exception thrown in class com.yubico.yubikit.core.fido.FidoProtocol at new com.yubico.yubikit.core.fido.FidoProtocol(FidoConnection) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
|
DMI_RANDOM_USED_ONLY_ONCE:
core/src/main/java/com/yubico/yubikit/core/fido/FidoProtocol.java#L63
Random object created and used only once in new com.yubico.yubikit.core.fido.FidoProtocol(FidoConnection)
|
CRLF_INJECTION_LOGS:
core/src/main/java/com/yubico/yubikit/core/internal/Logger.java#L128
This use of org/slf4j/Logger.trace(Ljava/lang/String;)V might be used to include CRLF characters into log messages
|
CRLF_INJECTION_LOGS:
core/src/main/java/com/yubico/yubikit/core/internal/Logger.java#L131
This use of org/slf4j/Logger.debug(Ljava/lang/String;)V might be used to include CRLF characters into log messages
|
CRLF_INJECTION_LOGS:
core/src/main/java/com/yubico/yubikit/core/internal/Logger.java#L134
This use of org/slf4j/Logger.info(Ljava/lang/String;)V might be used to include CRLF characters into log messages
|
CRLF_INJECTION_LOGS:
core/src/main/java/com/yubico/yubikit/core/internal/Logger.java#L137
This use of org/slf4j/Logger.warn(Ljava/lang/String;)V might be used to include CRLF characters into log messages
|
CRLF_INJECTION_LOGS:
core/src/main/java/com/yubico/yubikit/core/internal/Logger.java#L140
This use of org/slf4j/Logger.error(Ljava/lang/String;)V might be used to include CRLF characters into log messages
|
CRLF_INJECTION_LOGS:
core/src/main/java/com/yubico/yubikit/core/internal/Logger.java#L152
This use of org/slf4j/Logger.trace(Ljava/lang/String;Ljava/lang/Object;)V might be used to include CRLF characters into log messages
|
CRLF_INJECTION_LOGS:
core/src/main/java/com/yubico/yubikit/core/internal/Logger.java#L155
This use of org/slf4j/Logger.debug(Ljava/lang/String;Ljava/lang/Object;)V might be used to include CRLF characters into log messages
|
CRLF_INJECTION_LOGS:
core/src/main/java/com/yubico/yubikit/core/internal/Logger.java#L158
This use of org/slf4j/Logger.info(Ljava/lang/String;Ljava/lang/Object;)V might be used to include CRLF characters into log messages
|
CRLF_INJECTION_LOGS:
core/src/main/java/com/yubico/yubikit/core/internal/Logger.java#L161
This use of org/slf4j/Logger.warn(Ljava/lang/String;Ljava/lang/Object;)V might be used to include CRLF characters into log messages
|
CRLF_INJECTION_LOGS:
core/src/main/java/com/yubico/yubikit/core/internal/Logger.java#L164
This use of org/slf4j/Logger.error(Ljava/lang/String;Ljava/lang/Object;)V might be used to include CRLF characters into log messages
|
CRLF_INJECTION_LOGS:
core/src/main/java/com/yubico/yubikit/core/internal/Logger.java#L176
This use of org/slf4j/Logger.trace(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V might be used to include CRLF characters into log messages
|
CRLF_INJECTION_LOGS:
core/src/main/java/com/yubico/yubikit/core/internal/Logger.java#L179
This use of org/slf4j/Logger.debug(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V might be used to include CRLF characters into log messages
|
CRLF_INJECTION_LOGS:
core/src/main/java/com/yubico/yubikit/core/internal/Logger.java#L182
This use of org/slf4j/Logger.info(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V might be used to include CRLF characters into log messages
|
CRLF_INJECTION_LOGS:
core/src/main/java/com/yubico/yubikit/core/internal/Logger.java#L185
This use of org/slf4j/Logger.warn(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V might be used to include CRLF characters into log messages
|
CRLF_INJECTION_LOGS:
core/src/main/java/com/yubico/yubikit/core/internal/Logger.java#L188
This use of org/slf4j/Logger.error(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V might be used to include CRLF characters into log messages
|
CRLF_INJECTION_LOGS:
core/src/main/java/com/yubico/yubikit/core/internal/Logger.java#L200
This use of org/slf4j/Logger.trace(Ljava/lang/String;[Ljava/lang/Object;)V might be used to include CRLF characters into log messages
|
CRLF_INJECTION_LOGS:
core/src/main/java/com/yubico/yubikit/core/internal/Logger.java#L203
This use of org/slf4j/Logger.debug(Ljava/lang/String;[Ljava/lang/Object;)V might be used to include CRLF characters into log messages
|
CRLF_INJECTION_LOGS:
core/src/main/java/com/yubico/yubikit/core/internal/Logger.java#L206
This use of org/slf4j/Logger.info(Ljava/lang/String;[Ljava/lang/Object;)V might be used to include CRLF characters into log messages
|
CRLF_INJECTION_LOGS:
core/src/main/java/com/yubico/yubikit/core/internal/Logger.java#L209
This use of org/slf4j/Logger.warn(Ljava/lang/String;[Ljava/lang/Object;)V might be used to include CRLF characters into log messages
|
CRLF_INJECTION_LOGS:
core/src/main/java/com/yubico/yubikit/core/internal/Logger.java#L212
This use of org/slf4j/Logger.error(Ljava/lang/String;[Ljava/lang/Object;)V might be used to include CRLF characters into log messages
|
DM_DEFAULT_ENCODING:
core/src/main/java/com/yubico/yubikit/core/internal/codec/DefaultBase64Codec.java#L34
Found reliance on default encoding in com.yubico.yubikit.core.internal.codec.DefaultBase64Codec.toString(byte[]): new String(byte[])
|
DM_DEFAULT_ENCODING:
core/src/main/java/com/yubico/yubikit/core/internal/codec/DefaultBase64Codec.java#L30
Found reliance on default encoding in com.yubico.yubikit.core.internal.codec.DefaultBase64Codec.toUrlSafeString(byte[]): new String(byte[])
|
CT_CONSTRUCTOR_THROW:
core/src/main/java/com/yubico/yubikit/core/keys/PrivateKeyValues.java#L174
Exception thrown in class com.yubico.yubikit.core.keys.PrivateKeyValues$Rsa at new com.yubico.yubikit.core.keys.PrivateKeyValues$Rsa(BigInteger, BigInteger, BigInteger, BigInteger, BigInteger, BigInteger, BigInteger) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
|
HARD_CODE_KEY:
core/src/main/java/com/yubico/yubikit/core/keys/PublicKeyValues.java#L43
Hard coded cryptographic key found
|
CT_CONSTRUCTOR_THROW:
core/src/main/java/com/yubico/yubikit/core/keys/PublicKeyValues.java#L105
Exception thrown in class com.yubico.yubikit.core.keys.PublicKeyValues$Cv25519 at new com.yubico.yubikit.core.keys.PublicKeyValues$Cv25519(EllipticCurveValues, byte[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
|
CT_CONSTRUCTOR_THROW:
core/src/main/java/com/yubico/yubikit/core/keys/PublicKeyValues.java#L151
Exception thrown in class com.yubico.yubikit.core.keys.PublicKeyValues$Ec at new com.yubico.yubikit.core.keys.PublicKeyValues$Ec(EllipticCurveValues, BigInteger, BigInteger) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
|
CT_CONSTRUCTOR_THROW:
core/src/main/java/com/yubico/yubikit/core/otp/ChecksumUtils.java#L63
Exception thrown in class com.yubico.yubikit.core.otp.ChecksumUtils at new com.yubico.yubikit.core.otp.ChecksumUtils() will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
|
DM_CONVERT_CASE:
core/src/main/java/com/yubico/yubikit/core/otp/Modhex.java#L49
Use of non-localized String.toUpperCase() or String.toLowerCase() in com.yubico.yubikit.core.otp.Modhex.decode(String)
|
CT_CONSTRUCTOR_THROW:
core/src/main/java/com/yubico/yubikit/core/otp/OtpProtocol.java#L75
Exception thrown in class com.yubico.yubikit.core.otp.OtpProtocol at new com.yubico.yubikit.core.otp.OtpProtocol(OtpConnection) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
|
CT_CONSTRUCTOR_THROW:
core/src/main/java/com/yubico/yubikit/core/smartcard/ApduResponse.java#L34
Exception thrown in class com.yubico.yubikit.core.smartcard.ApduResponse at new com.yubico.yubikit.core.smartcard.ApduResponse(byte[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
|
MS_PKGPROTECT:
core/src/main/java/com/yubico/yubikit/core/smartcard/AppId.java#L24
com.yubico.yubikit.core.smartcard.AppId.FIDO should be package protected
|
MS_PKGPROTECT:
core/src/main/java/com/yubico/yubikit/core/smartcard/AppId.java#L26
com.yubico.yubikit.core.smartcard.AppId.HSMAUTH should be package protected
|
MS_PKGPROTECT:
core/src/main/java/com/yubico/yubikit/core/smartcard/AppId.java#L20
com.yubico.yubikit.core.smartcard.AppId.MANAGEMENT should be package protected
|
MS_PKGPROTECT:
core/src/main/java/com/yubico/yubikit/core/smartcard/AppId.java#L22
com.yubico.yubikit.core.smartcard.AppId.OATH should be package protected
|
MS_PKGPROTECT:
core/src/main/java/com/yubico/yubikit/core/smartcard/AppId.java#L25
com.yubico.yubikit.core.smartcard.AppId.OPENPGP should be package protected
|
MS_PKGPROTECT:
core/src/main/java/com/yubico/yubikit/core/smartcard/AppId.java#L21
com.yubico.yubikit.core.smartcard.AppId.OTP should be package protected
|
MS_PKGPROTECT:
core/src/main/java/com/yubico/yubikit/core/smartcard/AppId.java#L23
com.yubico.yubikit.core.smartcard.AppId.PIV should be package protected
|
URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD:
core/src/main/java/com/yubico/yubikit/core/util/Pair.java#L26
Unread public/protected field: com.yubico.yubikit.core.util.Pair.first
|
URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD:
core/src/main/java/com/yubico/yubikit/core/util/Pair.java#L27
Unread public/protected field: com.yubico.yubikit.core.util.Pair.second
|
CT_CONSTRUCTOR_THROW:
core/src/main/java/com/yubico/yubikit/core/util/RandomUtils.java#L41
Exception thrown in class com.yubico.yubikit.core.util.RandomUtils at new com.yubico.yubikit.core.util.RandomUtils() will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
|
DMI_RANDOM_USED_ONLY_ONCE:
core/src/main/java/com/yubico/yubikit/core/util/RandomUtils.java#L35
Random object created and used only once in com.yubico.yubikit.core.util.RandomUtils.getRandomBytes(int)
|
CT_CONSTRUCTOR_THROW:
core/src/main/java/com/yubico/yubikit/core/util/StringUtils.java#L50
Exception thrown in class com.yubico.yubikit.core.util.StringUtils at new com.yubico.yubikit.core.util.StringUtils() will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
|
BX_UNBOXING_IMMEDIATELY_REBOXED:
fido/src/main/java/com/yubico/yubikit/fido/Cose.java#L44
Boxed value is unboxed and then immediately reboxed in com.yubico.yubikit.fido.Cose.getAlgorithm(Map)
|
CT_CONSTRUCTOR_THROW:
fido/src/main/java/com/yubico/yubikit/fido/client/BasicWebAuthnClient.java#L80
Exception thrown in class com.yubico.yubikit.fido.client.BasicWebAuthnClient at new com.yubico.yubikit.fido.client.BasicWebAuthnClient(Ctap2Session) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/client/BasicWebAuthnClient.java#L135
com.yubico.yubikit.fido.client.BasicWebAuthnClient.getUserAgentConfiguration() may expose internal representation by returning BasicWebAuthnClient.userAgentConfiguration
|
EI_EXPOSE_REP2:
fido/src/main/java/com/yubico/yubikit/fido/client/BasicWebAuthnClient.java#L100
com.yubico.yubikit.fido.client.BasicWebAuthnClient$UserAgentConfiguration.setEpSupportedRpIds(List) may expose internal representation by storing an externally mutable object into BasicWebAuthnClient$UserAgentConfiguration.epSupportedRpIds
|
DLS_DEAD_LOCAL_STORE:
fido/src/main/java/com/yubico/yubikit/fido/client/CredentialManager.java#L103
Dead store to credentialIdMap in com.yubico.yubikit.fido.client.CredentialManager.getCredentials(String)
|
DCN_NULLPOINTER_EXCEPTION:
fido/src/main/java/com/yubico/yubikit/fido/client/MultipleAssertionsAvailable.java#L74
Do not catch NullPointerException like in com.yubico.yubikit.fido.client.MultipleAssertionsAvailable.getUsers()
|
CT_CONSTRUCTOR_THROW:
fido/src/main/java/com/yubico/yubikit/fido/ctap/Config.java#L74
Exception thrown in class com.yubico.yubikit.fido.ctap.Config at new com.yubico.yubikit.fido.ctap.Config(Ctap2Session, PinUvAuthProtocol, byte[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
|
CT_CONSTRUCTOR_THROW:
fido/src/main/java/com/yubico/yubikit/fido/ctap/CredentialManagement.java#L79
Exception thrown in class com.yubico.yubikit.fido.ctap.CredentialManagement at new com.yubico.yubikit.fido.ctap.CredentialManagement(Ctap2Session, PinUvAuthProtocol, byte[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
|
EI_EXPOSE_REP2:
fido/src/main/java/com/yubico/yubikit/fido/ctap/CredentialManagement.java#L83
new com.yubico.yubikit.fido.ctap.CredentialManagement(Ctap2Session, PinUvAuthProtocol, byte[]) may expose internal representation by storing an externally mutable object into CredentialManagement.pinUvToken
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/ctap/CredentialManagement.java#L287
com.yubico.yubikit.fido.ctap.CredentialManagement$CredentialData.getCredentialId() may expose internal representation by returning CredentialManagement$CredentialData.credentialId
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/ctap/CredentialManagement.java#L291
com.yubico.yubikit.fido.ctap.CredentialManagement$CredentialData.getPublicKey() may expose internal representation by returning CredentialManagement$CredentialData.publicKey
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/ctap/CredentialManagement.java#L283
com.yubico.yubikit.fido.ctap.CredentialManagement$CredentialData.getUser() may expose internal representation by returning CredentialManagement$CredentialData.user
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/ctap/CredentialManagement.java#L252
com.yubico.yubikit.fido.ctap.CredentialManagement$RpData.getRp() may expose internal representation by returning CredentialManagement$RpData.rp
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/ctap/CredentialManagement.java#L256
com.yubico.yubikit.fido.ctap.CredentialManagement$RpData.getRpIdHash() may expose internal representation by returning CredentialManagement$RpData.rpIdHash
|
CT_CONSTRUCTOR_THROW:
fido/src/main/java/com/yubico/yubikit/fido/ctap/Ctap2Session.java#L131
Exception thrown in class com.yubico.yubikit.fido.ctap.Ctap2Session at new com.yubico.yubikit.fido.ctap.Ctap2Session(Version, Ctap2Session$Backend) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
|
CT_CONSTRUCTOR_THROW:
fido/src/main/java/com/yubico/yubikit/fido/ctap/Ctap2Session.java#L120
Exception thrown in class com.yubico.yubikit.fido.ctap.Ctap2Session at new com.yubico.yubikit.fido.ctap.Ctap2Session(FidoConnection) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
|
CT_CONSTRUCTOR_THROW:
fido/src/main/java/com/yubico/yubikit/fido/ctap/Ctap2Session.java#L162
Exception thrown in class com.yubico.yubikit.fido.ctap.Ctap2Session at new com.yubico.yubikit.fido.ctap.Ctap2Session(FidoProtocol) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
|
CT_CONSTRUCTOR_THROW:
fido/src/main/java/com/yubico/yubikit/fido/ctap/Ctap2Session.java#L107
Exception thrown in class com.yubico.yubikit.fido.ctap.Ctap2Session at new com.yubico.yubikit.fido.ctap.Ctap2Session(SmartCardConnection) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
|
CT_CONSTRUCTOR_THROW:
fido/src/main/java/com/yubico/yubikit/fido/ctap/Ctap2Session.java#L113
Exception thrown in class com.yubico.yubikit.fido.ctap.Ctap2Session at new com.yubico.yubikit.fido.ctap.Ctap2Session(SmartCardConnection, Version) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
|
MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR:
fido/src/main/java/com/yubico/yubikit/fido/ctap/Ctap2Session.java#L128
Overridable method getInfo is called from constructor new com.yubico.yubikit.fido.ctap.Ctap2Session(Version, Ctap2Session$Backend).
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/ctap/Ctap2Session.java#L1072
com.yubico.yubikit.fido.ctap.Ctap2Session$AssertionData.getAuthenticatorData() may expose internal representation by returning Ctap2Session$AssertionData.authenticatorData
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/ctap/Ctap2Session.java#L1053
com.yubico.yubikit.fido.ctap.Ctap2Session$AssertionData.getCredential() may expose internal representation by returning Ctap2Session$AssertionData.credential
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/ctap/Ctap2Session.java#L1062
com.yubico.yubikit.fido.ctap.Ctap2Session$AssertionData.getSignature() may expose internal representation by returning Ctap2Session$AssertionData.signature
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/ctap/Ctap2Session.java#L1043
com.yubico.yubikit.fido.ctap.Ctap2Session$AssertionData.getUser() may expose internal representation by returning Ctap2Session$AssertionData.user
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/ctap/Ctap2Session.java#L978
com.yubico.yubikit.fido.ctap.Ctap2Session$CredentialData.getAttestationStatement() may expose internal representation by returning Ctap2Session$CredentialData.attestationStatement
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/ctap/Ctap2Session.java#L960
com.yubico.yubikit.fido.ctap.Ctap2Session$CredentialData.getAuthenticatorData() may expose internal representation by returning Ctap2Session$CredentialData.authenticatorData
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/ctap/Ctap2Session.java#L998
com.yubico.yubikit.fido.ctap.Ctap2Session$CredentialData.getLargeBlobKey() may expose internal representation by returning Ctap2Session$CredentialData.largeBlobKey
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/ctap/Ctap2Session.java#L680
com.yubico.yubikit.fido.ctap.Ctap2Session$InfoData.getAaguid() may expose internal representation by returning Ctap2Session$InfoData.aaguid
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/ctap/Ctap2Session.java#L752
com.yubico.yubikit.fido.ctap.Ctap2Session$InfoData.getAlgorithms() may expose internal representation by returning Ctap2Session$InfoData.algorithms
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/ctap/Ctap2Session.java#L858
com.yubico.yubikit.fido.ctap.Ctap2Session$InfoData.getCertifications() may expose internal representation by returning Ctap2Session$InfoData.certifications
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/ctap/Ctap2Session.java#L671
com.yubico.yubikit.fido.ctap.Ctap2Session$InfoData.getExtensions() may expose internal representation by returning Ctap2Session$InfoData.extensions
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/ctap/Ctap2Session.java#L689
com.yubico.yubikit.fido.ctap.Ctap2Session$InfoData.getOptions() may expose internal representation by returning Ctap2Session$InfoData.options
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/ctap/Ctap2Session.java#L709
com.yubico.yubikit.fido.ctap.Ctap2Session$InfoData.getPinUvAuthProtocols() may expose internal representation by returning Ctap2Session$InfoData.pinUvAuthProtocols
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/ctap/Ctap2Session.java#L741
com.yubico.yubikit.fido.ctap.Ctap2Session$InfoData.getTransports() may expose internal representation by returning Ctap2Session$InfoData.transports
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/ctap/Ctap2Session.java#L879
com.yubico.yubikit.fido.ctap.Ctap2Session$InfoData.getVendorPrototypeConfigCommands() may expose internal representation by returning Ctap2Session$InfoData.vendorPrototypeConfigCommands
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/ctap/Ctap2Session.java#L662
com.yubico.yubikit.fido.ctap.Ctap2Session$InfoData.getVersions() may expose internal representation by returning Ctap2Session$InfoData.versions
|
CT_CONSTRUCTOR_THROW:
fido/src/main/java/com/yubico/yubikit/fido/ctap/Hkdf.java#L37
Exception thrown in class com.yubico.yubikit.fido.ctap.Hkdf at new com.yubico.yubikit.fido.ctap.Hkdf(String) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
|
CIPHER_INTEGRITY:
fido/src/main/java/com/yubico/yubikit/fido/ctap/PinUvAuthProtocolV1.java#L132
The cipher does not provide data integrity
|
CIPHER_INTEGRITY:
fido/src/main/java/com/yubico/yubikit/fido/ctap/PinUvAuthProtocolV1.java#L119
The cipher does not provide data integrity
|
STATIC_IV:
fido/src/main/java/com/yubico/yubikit/fido/ctap/PinUvAuthProtocolV1.java#L120
The initialization vector (IV) is not properly generated
|
CIPHER_INTEGRITY:
fido/src/main/java/com/yubico/yubikit/fido/ctap/PinUvAuthProtocolV2.java#L146
The cipher does not provide data integrity
|
STATIC_IV:
fido/src/main/java/com/yubico/yubikit/fido/ctap/PinUvAuthProtocolV2.java#L147
The initialization vector (IV) is not properly generated
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/AttestationObject.java#L85
com.yubico.yubikit.fido.webauthn.AttestationObject.getAttestationStatement() may expose internal representation by returning AttestationObject.attestationStatement
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/AttestationObject.java#L97
com.yubico.yubikit.fido.webauthn.AttestationObject.getLargeBlobKey() may expose internal representation by returning AttestationObject.largeBlobKey
|
EI_EXPOSE_REP2:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/AttestationObject.java#L59
new com.yubico.yubikit.fido.webauthn.AttestationObject(String, AuthenticatorData, Map, Boolean, byte[]) may expose internal representation by storing an externally mutable object into AttestationObject.attestationStatement
|
EI_EXPOSE_REP2:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/AttestationObject.java#L61
new com.yubico.yubikit.fido.webauthn.AttestationObject(String, AuthenticatorData, Map, Boolean, byte[]) may expose internal representation by storing an externally mutable object into AttestationObject.largeBlobKey
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/AttestedCredentialData.java#L65
com.yubico.yubikit.fido.webauthn.AttestedCredentialData.getAaguid() may expose internal representation by returning AttestedCredentialData.aaguid
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/AttestedCredentialData.java#L75
com.yubico.yubikit.fido.webauthn.AttestedCredentialData.getCosePublicKey() may expose internal representation by returning AttestedCredentialData.cosePublicKey
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/AttestedCredentialData.java#L70
com.yubico.yubikit.fido.webauthn.AttestedCredentialData.getCredentialId() may expose internal representation by returning AttestedCredentialData.credentialId
|
EI_EXPOSE_REP2:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/AttestedCredentialData.java#L40
new com.yubico.yubikit.fido.webauthn.AttestedCredentialData(byte[], byte[], Map) may expose internal representation by storing an externally mutable object into AttestedCredentialData.aaguid
|
EI_EXPOSE_REP2:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/AttestedCredentialData.java#L42
new com.yubico.yubikit.fido.webauthn.AttestedCredentialData(byte[], byte[], Map) may expose internal representation by storing an externally mutable object into AttestedCredentialData.cosePublicKey
|
EI_EXPOSE_REP2:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/AttestedCredentialData.java#L41
new com.yubico.yubikit.fido.webauthn.AttestedCredentialData(byte[], byte[], Map) may expose internal representation by storing an externally mutable object into AttestedCredentialData.credentialId
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/AuthenticatorAssertionResponse.java#L52
com.yubico.yubikit.fido.webauthn.AuthenticatorAssertionResponse.getAuthenticatorData() may expose internal representation by returning AuthenticatorAssertionResponse.authenticatorData
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/AuthenticatorAssertionResponse.java#L56
com.yubico.yubikit.fido.webauthn.AuthenticatorAssertionResponse.getSignature() may expose internal representation by returning AuthenticatorAssertionResponse.signature
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/AuthenticatorAssertionResponse.java#L61
com.yubico.yubikit.fido.webauthn.AuthenticatorAssertionResponse.getUserHandle() may expose internal representation by returning AuthenticatorAssertionResponse.userHandle
|
EI_EXPOSE_REP2:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/AuthenticatorAssertionResponse.java#L46
new com.yubico.yubikit.fido.webauthn.AuthenticatorAssertionResponse(byte[], byte[], byte[], byte[]) may expose internal representation by storing an externally mutable object into AuthenticatorAssertionResponse.authenticatorData
|
EI_EXPOSE_REP2:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/AuthenticatorAssertionResponse.java#L47
new com.yubico.yubikit.fido.webauthn.AuthenticatorAssertionResponse(byte[], byte[], byte[], byte[]) may expose internal representation by storing an externally mutable object into AuthenticatorAssertionResponse.signature
|
EI_EXPOSE_REP2:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/AuthenticatorAssertionResponse.java#L48
new com.yubico.yubikit.fido.webauthn.AuthenticatorAssertionResponse(byte[], byte[], byte[], byte[]) may expose internal representation by storing an externally mutable object into AuthenticatorAssertionResponse.userHandle
|
CT_CONSTRUCTOR_THROW:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/AuthenticatorAttestationResponse.java#L85
Exception thrown in class com.yubico.yubikit.fido.webauthn.AuthenticatorAttestationResponse at new com.yubico.yubikit.fido.webauthn.AuthenticatorAttestationResponse(byte[], List, AttestationObject) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/AuthenticatorAttestationResponse.java#L129
com.yubico.yubikit.fido.webauthn.AuthenticatorAttestationResponse.getAttestationObject() may expose internal representation by returning AuthenticatorAttestationResponse.attestationObject
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/AuthenticatorAttestationResponse.java#L120
com.yubico.yubikit.fido.webauthn.AuthenticatorAttestationResponse.getPublicKey() may expose internal representation by returning AuthenticatorAttestationResponse.publicKey
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/AuthenticatorAttestationResponse.java#L114
com.yubico.yubikit.fido.webauthn.AuthenticatorAttestationResponse.getTransports() may expose internal representation by returning AuthenticatorAttestationResponse.transports
|
EI_EXPOSE_REP2:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/AuthenticatorAttestationResponse.java#L67
new com.yubico.yubikit.fido.webauthn.AuthenticatorAttestationResponse(byte[], AuthenticatorData, List, byte[], int, byte[]) may expose internal representation by storing an externally mutable object into AuthenticatorAttestationResponse.attestationObject
|
EI_EXPOSE_REP2:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/AuthenticatorAttestationResponse.java#L70
new com.yubico.yubikit.fido.webauthn.AuthenticatorAttestationResponse(byte[], AuthenticatorData, List, byte[], int, byte[]) may expose internal representation by storing an externally mutable object into AuthenticatorAttestationResponse.publicKey
|
EI_EXPOSE_REP2:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/AuthenticatorAttestationResponse.java#L66
new com.yubico.yubikit.fido.webauthn.AuthenticatorAttestationResponse(byte[], AuthenticatorData, List, byte[], int, byte[]) may expose internal representation by storing an externally mutable object into AuthenticatorAttestationResponse.transports
|
EI_EXPOSE_REP2:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/AuthenticatorAttestationResponse.java#L81
new com.yubico.yubikit.fido.webauthn.AuthenticatorAttestationResponse(byte[], List, AttestationObject) may expose internal representation by storing an externally mutable object into AuthenticatorAttestationResponse.transports
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/AuthenticatorData.java#L168
com.yubico.yubikit.fido.webauthn.AuthenticatorData.getBytes() may expose internal representation by returning AuthenticatorData.rawData
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/AuthenticatorData.java#L143
com.yubico.yubikit.fido.webauthn.AuthenticatorData.getExtensions() may expose internal representation by returning AuthenticatorData.extensions
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/AuthenticatorData.java#L121
com.yubico.yubikit.fido.webauthn.AuthenticatorData.getRpIdHash() may expose internal representation by returning AuthenticatorData.rpIdHash
|
EI_EXPOSE_REP2:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/AuthenticatorData.java#L69
new com.yubico.yubikit.fido.webauthn.AuthenticatorData(byte[], byte, int, AttestedCredentialData, Map, byte[]) may expose internal representation by storing an externally mutable object into AuthenticatorData.extensions
|
EI_EXPOSE_REP2:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/AuthenticatorData.java#L70
new com.yubico.yubikit.fido.webauthn.AuthenticatorData(byte[], byte, int, AttestedCredentialData, Map, byte[]) may expose internal representation by storing an externally mutable object into AuthenticatorData.rawData
|
EI_EXPOSE_REP2:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/AuthenticatorData.java#L65
new com.yubico.yubikit.fido.webauthn.AuthenticatorData(byte[], byte, int, AttestedCredentialData, Map, byte[]) may expose internal representation by storing an externally mutable object into AuthenticatorData.rpIdHash
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/AuthenticatorResponse.java#L31
com.yubico.yubikit.fido.webauthn.AuthenticatorResponse.getClientDataJson() may expose internal representation by returning AuthenticatorResponse.clientDataJson
|
RC_REF_COMPARISON_BAD_PRACTICE_BOOLEAN:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/AuthenticatorSelectionCriteria.java#L82
Suspicious comparison of Boolean references in com.yubico.yubikit.fido.webauthn.AuthenticatorSelectionCriteria.fromMap(Map, SerializationType)
|
EI_EXPOSE_REP2:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/PublicKeyCredential.java#L67
new com.yubico.yubikit.fido.webauthn.PublicKeyCredential(byte[], AuthenticatorResponse) may expose internal representation by storing an externally mutable object into PublicKeyCredential.rawId
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/PublicKeyCredentialCreationOptions.java#L86
com.yubico.yubikit.fido.webauthn.PublicKeyCredentialCreationOptions.getChallenge() may expose internal representation by returning PublicKeyCredentialCreationOptions.challenge
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/PublicKeyCredentialCreationOptions.java#L99
com.yubico.yubikit.fido.webauthn.PublicKeyCredentialCreationOptions.getExcludeCredentials() may expose internal representation by returning PublicKeyCredentialCreationOptions.excludeCredentials
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/PublicKeyCredentialCreationOptions.java#L90
com.yubico.yubikit.fido.webauthn.PublicKeyCredentialCreationOptions.getPubKeyCredParams() may expose internal representation by returning PublicKeyCredentialCreationOptions.pubKeyCredParams
|
EI_EXPOSE_REP2:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/PublicKeyCredentialCreationOptions.java#L68
new com.yubico.yubikit.fido.webauthn.PublicKeyCredentialCreationOptions(PublicKeyCredentialRpEntity, PublicKeyCredentialUserEntity, byte[], List, Long, List, AuthenticatorSelectionCriteria, String, Extensions) may expose internal representation by storing an externally mutable object into PublicKeyCredentialCreationOptions.challenge
|
EI_EXPOSE_REP2:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/PublicKeyCredentialCreationOptions.java#L69
new com.yubico.yubikit.fido.webauthn.PublicKeyCredentialCreationOptions(PublicKeyCredentialRpEntity, PublicKeyCredentialUserEntity, byte[], List, Long, List, AuthenticatorSelectionCriteria, String, Extensions) may expose internal representation by storing an externally mutable object into PublicKeyCredentialCreationOptions.pubKeyCredParams
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/PublicKeyCredentialDescriptor.java#L57
com.yubico.yubikit.fido.webauthn.PublicKeyCredentialDescriptor.getId() may expose internal representation by returning PublicKeyCredentialDescriptor.id
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/PublicKeyCredentialDescriptor.java#L62
com.yubico.yubikit.fido.webauthn.PublicKeyCredentialDescriptor.getTransports() may expose internal representation by returning PublicKeyCredentialDescriptor.transports
|
EI_EXPOSE_REP2:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/PublicKeyCredentialDescriptor.java#L42
new com.yubico.yubikit.fido.webauthn.PublicKeyCredentialDescriptor(String, byte[]) may expose internal representation by storing an externally mutable object into PublicKeyCredentialDescriptor.id
|
EI_EXPOSE_REP2:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/PublicKeyCredentialDescriptor.java#L48
new com.yubico.yubikit.fido.webauthn.PublicKeyCredentialDescriptor(String, byte[], List) may expose internal representation by storing an externally mutable object into PublicKeyCredentialDescriptor.id
|
EI_EXPOSE_REP2:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/PublicKeyCredentialDescriptor.java#L49
new com.yubico.yubikit.fido.webauthn.PublicKeyCredentialDescriptor(String, byte[], List) may expose internal representation by storing an externally mutable object into PublicKeyCredentialDescriptor.transports
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/PublicKeyCredentialRequestOptions.java#L80
com.yubico.yubikit.fido.webauthn.PublicKeyCredentialRequestOptions.getAllowCredentials() may expose internal representation by returning PublicKeyCredentialRequestOptions.allowCredentials
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/PublicKeyCredentialRequestOptions.java#L67
com.yubico.yubikit.fido.webauthn.PublicKeyCredentialRequestOptions.getChallenge() may expose internal representation by returning PublicKeyCredentialRequestOptions.challenge
|
EI_EXPOSE_REP2:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/PublicKeyCredentialRequestOptions.java#L58
new com.yubico.yubikit.fido.webauthn.PublicKeyCredentialRequestOptions(byte[], Long, String, List, String, Extensions) may expose internal representation by storing an externally mutable object into PublicKeyCredentialRequestOptions.challenge
|
EI_EXPOSE_REP:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/PublicKeyCredentialUserEntity.java#L41
com.yubico.yubikit.fido.webauthn.PublicKeyCredentialUserEntity.getId() may expose internal representation by returning PublicKeyCredentialUserEntity.id
|
EI_EXPOSE_REP2:
fido/src/main/java/com/yubico/yubikit/fido/webauthn/PublicKeyCredentialUserEntity.java#L36
new com.yubico.yubikit.fido.webauthn.PublicKeyCredentialUserEntity(String, byte[], String) may expose internal representation by storing an externally mutable object into PublicKeyCredentialUserEntity.id
|
EI_EXPOSE_REP2:
management/src/main/java/com/yubico/yubikit/management/DeviceInfo.java#L71
new com.yubico.yubikit.management.DeviceInfo(DeviceConfig, Integer, Version, FormFactor, Map, boolean, boolean, boolean) may expose internal representation by storing an externally mutable object into DeviceInfo.supportedCapabilities
|
CT_CONSTRUCTOR_THROW:
management/src/main/java/com/yubico/yubikit/management/ManagementSession.java#L228
Exception thrown in class com.yubico.yubikit.management.ManagementSession at new com.yubico.yubikit.management.ManagementSession(FidoConnection) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
|
CT_CONSTRUCTOR_THROW:
management/src/main/java/com/yubico/yubikit/management/ManagementSession.java#L199
Exception thrown in class com.yubico.yubikit.management.ManagementSession at new com.yubico.yubikit.management.ManagementSession(OtpConnection) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
|
CT_CONSTRUCTOR_THROW:
management/src/main/java/com/yubico/yubikit/management/ManagementSession.java#L111
Exception thrown in class com.yubico.yubikit.management.ManagementSession at new com.yubico.yubikit.management.ManagementSession(SmartCardConnection) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
|
SE_NO_SERIALVERSIONID:
oath/src/main/java/com/yubico/yubikit/oath/Credential.java#L38
com.yubico.yubikit.oath.Credential is Serializable; consider declaring a serialVersionUID
|
DM_CONVERT_CASE:
oath/src/main/java/com/yubico/yubikit/oath/CredentialData.java#L293
Use of non-localized String.toUpperCase() or String.toLowerCase() in com.yubico.yubikit.oath.CredentialData.decodeSecret(String)
|
SE_NO_SERIALVERSIONID:
oath/src/main/java/com/yubico/yubikit/oath/CredentialData.java#L69
com.yubico.yubikit.oath.CredentialData is Serializable; consider declaring a serialVersionUID
|
REDOS:
oath/src/main/java/com/yubico/yubikit/oath/CredentialIdUtils.java#L30
The regular expression "^((\\d+)/)?(([^:]+):)?(.+)$" is vulnerable to a denial of service attack (ReDOS)
|
IMPROPER_UNICODE:
oath/src/main/java/com/yubico/yubikit/oath/HashAlgorithm.java#L73
Improper handling of Unicode transformations such as case mapping and normalization.
|
CT_CONSTRUCTOR_THROW:
oath/src/main/java/com/yubico/yubikit/oath/OathSession.java#L130
Exception thrown in class com.yubico.yubikit.oath.OathSession at new com.yubico.yubikit.oath.OathSession(SmartCardConnection) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
|
URF_UNREAD_FIELD:
oath/src/main/java/com/yubico/yubikit/oath/OathSession.java#L711
Unread field: com.yubico.yubikit.oath.OathSession$ListResponse.hashAlgorithm
|
IMPROPER_UNICODE:
oath/src/main/java/com/yubico/yubikit/oath/OathType.java#L54
Improper handling of Unicode transformations such as case mapping and normalization.
|
IMPROPER_UNICODE:
oath/src/main/java/com/yubico/yubikit/oath/OathType.java#L56
Improper handling of Unicode transformations such as case mapping and normalization.
|
EI_EXPOSE_REP:
openpgp/src/main/java/com/yubico/yubikit/openpgp/ApplicationRelatedData.java#L69
com.yubico.yubikit.openpgp.ApplicationRelatedData.getGeneralFeatureManagement() may expose internal representation by returning ApplicationRelatedData.generalFeatureManagement
|
EI_EXPOSE_REP2:
openpgp/src/main/java/com/yubico/yubikit/openpgp/ApplicationRelatedData.java#L50
new com.yubico.yubikit.openpgp.ApplicationRelatedData(OpenPgpAid, byte[], ExtendedLengthInfo, EnumSet, DiscretionaryDataObjects) may expose internal representation by storing an externally mutable object into ApplicationRelatedData.generalFeatureManagement
|
EI_EXPOSE_REP2:
openpgp/src/main/java/com/yubico/yubikit/openpgp/ApplicationRelatedData.java#L48
new com.yubico.yubikit.openpgp.ApplicationRelatedData(OpenPgpAid, byte[], ExtendedLengthInfo, EnumSet, DiscretionaryDataObjects) may expose internal representation by storing an externally mutable object into ApplicationRelatedData.historical
|
EI_EXPOSE_REP2:
openpgp/src/main/java/com/yubico/yubikit/openpgp/DiscretionaryDataObjects.java#L78
new com.yubico.yubikit.openpgp.DiscretionaryDataObjects(ExtendedCapabilities, AlgorithmAttributes, AlgorithmAttributes, AlgorithmAttributes, AlgorithmAttributes, PwStatus, Map, Map, Map, Map, Uif, Uif, Uif, Uif) may expose internal representation by storing an externally mutable object into DiscretionaryDataObjects.caFingerprints
|
EI_EXPOSE_REP2:
openpgp/src/main/java/com/yubico/yubikit/openpgp/DiscretionaryDataObjects.java#L77
new com.yubico.yubikit.openpgp.DiscretionaryDataObjects(ExtendedCapabilities, AlgorithmAttributes, AlgorithmAttributes, AlgorithmAttributes, AlgorithmAttributes, PwStatus, Map, Map, Map, Map, Uif, Uif, Uif, Uif) may expose internal representation by storing an externally mutable object into DiscretionaryDataObjects.fingerprints
|
EI_EXPOSE_REP2:
openpgp/src/main/java/com/yubico/yubikit/openpgp/DiscretionaryDataObjects.java#L79
new com.yubico.yubikit.openpgp.DiscretionaryDataObjects(ExtendedCapabilities, AlgorithmAttributes, AlgorithmAttributes, AlgorithmAttributes, AlgorithmAttributes, PwStatus, Map, Map, Map, Map, Uif, Uif, Uif, Uif) may expose internal representation by storing an externally mutable object into DiscretionaryDataObjects.generationTimes
|
EI_EXPOSE_REP2:
openpgp/src/main/java/com/yubico/yubikit/openpgp/DiscretionaryDataObjects.java#L80
new com.yubico.yubikit.openpgp.DiscretionaryDataObjects(ExtendedCapabilities, AlgorithmAttributes, AlgorithmAttributes, AlgorithmAttributes, AlgorithmAttributes, PwStatus, Map, Map, Map, Map, Uif, Uif, Uif, Uif) may expose internal representation by storing an externally mutable object into DiscretionaryDataObjects.keyInformation
|
PZLA_PREFER_ZERO_LENGTH_ARRAYS:
openpgp/src/main/java/com/yubico/yubikit/openpgp/DiscretionaryDataObjects.java#L126
Should com.yubico.yubikit.openpgp.DiscretionaryDataObjects.getCaFingerprint(KeyRef) return a zero length array rather than null?
|
PZLA_PREFER_ZERO_LENGTH_ARRAYS:
openpgp/src/main/java/com/yubico/yubikit/openpgp/DiscretionaryDataObjects.java#L117
Should com.yubico.yubikit.openpgp.DiscretionaryDataObjects.getFingerprint(KeyRef) return a zero length array rather than null?
|
EI_EXPOSE_REP:
openpgp/src/main/java/com/yubico/yubikit/openpgp/ExtendedCapabilities.java#L52
com.yubico.yubikit.openpgp.ExtendedCapabilities.getFlags() may expose internal representation by returning ExtendedCapabilities.flags
|
EI_EXPOSE_REP2:
openpgp/src/main/java/com/yubico/yubikit/openpgp/ExtendedCapabilities.java#L42
new com.yubico.yubikit.openpgp.ExtendedCapabilities(EnumSet, int, int, int, int, boolean, boolean) may expose internal representation by storing an externally mutable object into ExtendedCapabilities.flags
|
EI_EXPOSE_REP2:
openpgp/src/main/java/com/yubico/yubikit/openpgp/Kdf.java#L133
new com.yubico.yubikit.openpgp.Kdf$IterSaltedS2k(Kdf$IterSaltedS2k$HashAlgorithm, int, byte[], byte[], byte[], byte[], byte[]) may expose internal representation by storing an externally mutable object into Kdf$IterSaltedS2k.initialHashAdmin
|
EI_EXPOSE_REP2:
openpgp/src/main/java/com/yubico/yubikit/openpgp/Kdf.java#L132
new com.yubico.yubikit.openpgp.Kdf$IterSaltedS2k(Kdf$IterSaltedS2k$HashAlgorithm, int, byte[], byte[], byte[], byte[], byte[]) may expose internal representation by storing an externally mutable object into Kdf$IterSaltedS2k.initialHashUser
|
EI_EXPOSE_REP2:
openpgp/src/main/java/com/yubico/yubikit/openpgp/Kdf.java#L131
new com.yubico.yubikit.openpgp.Kdf$IterSaltedS2k(Kdf$IterSaltedS2k$HashAlgorithm, int, byte[], byte[], byte[], byte[], byte[]) may expose internal representation by storing an externally mutable object into Kdf$IterSaltedS2k.saltAdmin
|
EI_EXPOSE_REP2:
openpgp/src/main/java/com/yubico/yubikit/openpgp/Kdf.java#L130
new com.yubico.yubikit.openpgp.Kdf$IterSaltedS2k(Kdf$IterSaltedS2k$HashAlgorithm, int, byte[], byte[], byte[], byte[], byte[]) may expose internal representation by storing an externally mutable object into Kdf$IterSaltedS2k.saltReset
|
EI_EXPOSE_REP2:
openpgp/src/main/java/com/yubico/yubikit/openpgp/Kdf.java#L129
new com.yubico.yubikit.openpgp.Kdf$IterSaltedS2k(Kdf$IterSaltedS2k$HashAlgorithm, int, byte[], byte[], byte[], byte[], byte[]) may expose internal representation by storing an externally mutable object into Kdf$IterSaltedS2k.saltUser
|
CT_CONSTRUCTOR_THROW:
openpgp/src/main/java/com/yubico/yubikit/openpgp/OpenPgpSession.java#L171
Exception thrown in class com.yubico.yubikit.openpgp.OpenPgpSession at new com.yubico.yubikit.openpgp.OpenPgpSession(SmartCardConnection) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
|
MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR:
openpgp/src/main/java/com/yubico/yubikit/openpgp/OpenPgpSession.java#L187
Overridable method getApplicationRelatedData is called from constructor new com.yubico.yubikit.openpgp.OpenPgpSession(SmartCardConnection).
|
DM_CONVERT_CASE:
openpgp/src/main/java/com/yubico/yubikit/openpgp/PinPolicy.java#L32
Use of non-localized String.toUpperCase() or String.toLowerCase() in com.yubico.yubikit.openpgp.PinPolicy.toString()
|
MS_PKGPROTECT:
openpgp/src/main/java/com/yubico/yubikit/openpgp/Pw.java#L22
com.yubico.yubikit.openpgp.Pw.DEFAULT_ADMIN_PIN should be package protected
|
MS_PKGPROTECT:
openpgp/src/main/java/com/yubico/yubikit/openpgp/Pw.java#L21
com.yubico.yubikit.openpgp.Pw.DEFAULT_USER_PIN should be package protected
|
DM_CONVERT_CASE:
openpgp/src/main/java/com/yubico/yubikit/openpgp/Uif.java#L50
Use of non-localized String.toUpperCase() or String.toLowerCase() in com.yubico.yubikit.openpgp.Uif.toString()
|
NM_SAME_SIMPLE_NAME_AS_SUPERCLASS:
piv/src/main/java/com/yubico/yubikit/piv/InvalidPinException.java#L27
The class name com.yubico.yubikit.piv.InvalidPinException shadows the simple name of the superclass com.yubico.yubikit.core.application.InvalidPinException
|
CT_CONSTRUCTOR_THROW:
piv/src/main/java/com/yubico/yubikit/piv/ObjectId.java#L74
Exception thrown in class com.yubico.yubikit.piv.ObjectId at new com.yubico.yubikit.piv.ObjectId() will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
|
MODIFICATION_AFTER_VALIDATION:
piv/src/main/java/com/yubico/yubikit/piv/Padding.java#L85
String is modified after validation and not before it. Tricky attackers may pass malicious strings which bypass validation.
|
RSA_NO_PADDING:
piv/src/main/java/com/yubico/yubikit/piv/Padding.java#L62
Use of RSA cipher without proper padding
|
RSA_NO_PADDING:
piv/src/main/java/com/yubico/yubikit/piv/Padding.java#L119
Use of RSA cipher without proper padding
|
UNSAFE_HASH_EQUALS:
piv/src/main/java/com/yubico/yubikit/piv/Padding.java#L78
Unsafe comparison of hash that are susceptible to timing attack
|
BC_UNCONFIRMED_CAST:
piv/src/main/java/com/yubico/yubikit/piv/PivSession.java#L992
Unchecked/unconfirmed cast from com.yubico.yubikit.core.keys.PrivateKeyValues to com.yubico.yubikit.core.keys.PrivateKeyValues$Ec in com.yubico.yubikit.piv.PivSession.putKey(Slot, PrivateKeyValues, PinPolicy, TouchPolicy)
|
BC_UNCONFIRMED_CAST:
piv/src/main/java/com/yubico/yubikit/piv/PivSession.java#L984
Unchecked/unconfirmed cast from com.yubico.yubikit.core.keys.PrivateKeyValues to com.yubico.yubikit.core.keys.PrivateKeyValues$Rsa in com.yubico.yubikit.piv.PivSession.putKey(Slot, PrivateKeyValues, PinPolicy, TouchPolicy)
|
CT_CONSTRUCTOR_THROW:
piv/src/main/java/com/yubico/yubikit/piv/PivSession.java#L208
Exception thrown in class com.yubico.yubikit.piv.PivSession at new com.yubico.yubikit.piv.PivSession(SmartCardConnection) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
|
CT_CONSTRUCTOR_THROW:
piv/src/main/java/com/yubico/yubikit/piv/jca/PivCipherSpi.java#L56
Exception thrown in class com.yubico.yubikit.piv.jca.PivCipherSpi at new com.yubico.yubikit.piv.jca.PivCipherSpi(Callback, Map) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
|
RSA_NO_PADDING:
piv/src/main/java/com/yubico/yubikit/piv/jca/PivCipherSpi.java#L153
Use of RSA cipher without proper padding
|
CT_CONSTRUCTOR_THROW:
piv/src/main/java/com/yubico/yubikit/piv/jca/PivEcSignatureSpi.java#L145
Exception thrown in class com.yubico.yubikit.piv.jca.PivEcSignatureSpi$Hashed at new com.yubico.yubikit.piv.jca.PivEcSignatureSpi$Hashed(Callback, String) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
|
EI_EXPOSE_REP:
piv/src/main/java/com/yubico/yubikit/piv/jca/PivKeyManager.java#L63
com.yubico.yubikit.piv.jca.PivKeyManager.getPrivateKey(String) may expose internal representation by returning PivKeyManager.privateKey
|
EI_EXPOSE_REP2:
piv/src/main/java/com/yubico/yubikit/piv/jca/PivKeyManager.java#L32
new com.yubico.yubikit.piv.jca.PivKeyManager(PivPrivateKey, X509Certificate[]) may expose internal representation by storing an externally mutable object into PivKeyManager.privateKey
|
BC_UNCONFIRMED_CAST:
piv/src/main/java/com/yubico/yubikit/piv/jca/PivKeyStoreSpi.java#L232
Unchecked/unconfirmed cast from java.security.Key to java.security.PrivateKey in com.yubico.yubikit.piv.jca.PivKeyStoreSpi.engineSetKeyEntry(String, Key, char[], Certificate[])
|
PZLA_PREFER_ZERO_LENGTH_ARRAYS:
piv/src/main/java/com/yubico/yubikit/piv/jca/PivPrivateKey.java#L151
Should com.yubico.yubikit.piv.jca.PivPrivateKey.getEncoded() return a zero length array rather than null?
|
SE_NO_SERIALVERSIONID:
piv/src/main/java/com/yubico/yubikit/piv/jca/PivPrivateKey.java#L154
com.yubico.yubikit.piv.jca.PivPrivateKey$EcKey is Serializable; consider declaring a serialVersionUID
|
SE_NO_SERIALVERSIONID:
piv/src/main/java/com/yubico/yubikit/piv/jca/PivPrivateKey.java#L180
com.yubico.yubikit.piv.jca.PivPrivateKey$RsaKey is Serializable; consider declaring a serialVersionUID
|
DM_CONVERT_CASE:
piv/src/main/java/com/yubico/yubikit/piv/jca/PivProvider.java#L100
Use of non-localized String.toUpperCase() or String.toLowerCase() in new com.yubico.yubikit.piv.jca.PivProvider(Callback)
|
IMPROPER_UNICODE:
piv/src/main/java/com/yubico/yubikit/piv/jca/PivProvider.java#L100
Improper handling of Unicode transformations such as case mapping and normalization.
|
SE_NO_SERIALVERSIONID:
piv/src/main/java/com/yubico/yubikit/piv/jca/PivProvider.java#L41
com.yubico.yubikit.piv.jca.PivProvider is Serializable; consider declaring a serialVersionUID
|
CT_CONSTRUCTOR_THROW:
piv/src/main/java/com/yubico/yubikit/piv/jca/PivRsaSignatureSpi.java#L54
Exception thrown in class com.yubico.yubikit.piv.jca.PivRsaSignatureSpi at new com.yubico.yubikit.piv.jca.PivRsaSignatureSpi(Callback, Map, String) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
|
RSA_NO_PADDING:
piv/src/main/java/com/yubico/yubikit/piv/jca/PivRsaSignatureSpi.java#L119
Use of RSA cipher without proper padding
|
WMI_WRONG_MAP_ITERATOR:
testing/src/main/java/com/yubico/yubikit/testing/fido/BasicWebAuthnClientTests.java#L516
com.yubico.yubikit.testing.fido.BasicWebAuthnClientTests.testClientCredentialManagement(Ctap2Session, Object[]) makes inefficient use of keySet iterator instead of entrySet iterator
|
RC_REF_COMPARISON_BAD_PRACTICE_BOOLEAN:
testing/src/main/java/com/yubico/yubikit/testing/fido/EnterpriseAttestationTests.java#L55
Suspicious comparison of Boolean references in com.yubico.yubikit.testing.fido.EnterpriseAttestationTests.enableEp(Ctap2Session, PinUvAuthProtocol)
|
URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD:
testing/src/main/java/com/yubico/yubikit/testing/fido/TestData.java#L41
Unread public/protected field: com.yubico.yubikit.testing.fido.TestData$ClientData.androidPackageName
|
URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD:
testing/src/main/java/com/yubico/yubikit/testing/fido/TestData.java#L40
Unread public/protected field: com.yubico.yubikit.testing.fido.TestData$ClientData.challenge
|
URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD:
testing/src/main/java/com/yubico/yubikit/testing/fido/TestData.java#L39
Unread public/protected field: com.yubico.yubikit.testing.fido.TestData$ClientData.origin
|
URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD:
testing/src/main/java/com/yubico/yubikit/testing/fido/TestData.java#L38
Unread public/protected field: com.yubico.yubikit.testing.fido.TestData$ClientData.type
|
CRLF_INJECTION_LOGS:
testing/src/main/java/com/yubico/yubikit/testing/openpgp/OpenPgpDeviceTests.java#L199
This use of org/slf4j/Logger.info(Ljava/lang/String;Ljava/lang/Object;)V might be used to include CRLF characters into log messages
|
CRLF_INJECTION_LOGS:
testing/src/main/java/com/yubico/yubikit/testing/openpgp/OpenPgpDeviceTests.java#L312
This use of org/slf4j/Logger.info(Ljava/lang/String;Ljava/lang/Object;)V might be used to include CRLF characters into log messages
|
CRLF_INJECTION_LOGS:
testing/src/main/java/com/yubico/yubikit/testing/piv/PivJcaDecryptTests.java#L75
This use of org/slf4j/Logger.debug(Ljava/lang/String;Ljava/lang/Object;)V might be used to include CRLF characters into log messages
|
CRLF_INJECTION_LOGS:
testing/src/main/java/com/yubico/yubikit/testing/piv/PivJcaDecryptTests.java#L88
This use of org/slf4j/Logger.debug(Ljava/lang/String;Ljava/lang/Object;)V might be used to include CRLF characters into log messages
|
CRLF_INJECTION_LOGS:
testing/src/main/java/com/yubico/yubikit/testing/piv/PivJcaDecryptTests.java#L92
This use of org/slf4j/Logger.debug(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V might be used to include CRLF characters into log messages
|
CRLF_INJECTION_LOGS:
testing/src/main/java/com/yubico/yubikit/testing/piv/PivJcaDecryptTests.java#L99
This use of org/slf4j/Logger.debug(Ljava/lang/String;Ljava/lang/Object;)V might be used to include CRLF characters into log messages
|
CRLF_INJECTION_LOGS:
testing/src/main/java/com/yubico/yubikit/testing/piv/PivJcaSigningTests.java#L72
This use of org/slf4j/Logger.debug(Ljava/lang/String;Ljava/lang/Object;)V might be used to include CRLF characters into log messages
|
CRLF_INJECTION_LOGS:
testing/src/main/java/com/yubico/yubikit/testing/piv/PivJcaSigningTests.java#L116
This use of org/slf4j/Logger.debug(Ljava/lang/String;Ljava/lang/Object;)V might be used to include CRLF characters into log messages
|
CRLF_INJECTION_LOGS:
testing/src/main/java/com/yubico/yubikit/testing/piv/PivJcaSigningTests.java#L174
This use of org/slf4j/Logger.debug(Ljava/lang/String;Ljava/lang/Object;)V might be used to include CRLF characters into log messages
|
CRLF_INJECTION_LOGS:
testing/src/main/java/com/yubico/yubikit/testing/piv/PivJcaSigningTests.java#L187
This use of org/slf4j/Logger.debug(Ljava/lang/String;Ljava/lang/Object;)V might be used to include CRLF characters into log messages
|
CRLF_INJECTION_LOGS:
testing/src/main/java/com/yubico/yubikit/testing/piv/PivJcaUtils.java#L51
This use of org/slf4j/Logger.debug(Ljava/lang/String;[Ljava/lang/Object;)V might be used to include CRLF characters into log messages
|
CRLF_INJECTION_LOGS:
testing/src/main/java/com/yubico/yubikit/testing/piv/PivJcaUtils.java#L54
This use of org/slf4j/Logger.debug(Ljava/lang/String;[Ljava/lang/Object;)V might be used to include CRLF characters into log messages
|
BC_UNCONFIRMED_CAST:
testing/src/main/java/com/yubico/yubikit/testing/piv/PivTestUtils.java#L293
Unchecked/unconfirmed cast from java.security.PublicKey to java.security.interfaces.ECKey in com.yubico.yubikit.testing.piv.PivTestUtils.ecKeyAgreement(PrivateKey, PublicKey)
|
CT_CONSTRUCTOR_THROW:
yubiotp/src/main/java/com/yubico/yubikit/yubiotp/HmacSha1SlotConfiguration.java#L54
Exception thrown in class com.yubico.yubikit.yubiotp.HmacSha1SlotConfiguration at new com.yubico.yubikit.yubiotp.HmacSha1SlotConfiguration(byte[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
|
WEAK_MESSAGE_DIGEST_SHA1:
yubiotp/src/main/java/com/yubico/yubikit/yubiotp/HmacSha1SlotConfiguration.java#L35
This API SHA1 (SHA-1) is not a recommended cryptographic hash function
|
CT_CONSTRUCTOR_THROW:
yubiotp/src/main/java/com/yubico/yubikit/yubiotp/StaticPasswordSlotConfiguration.java#L33
Exception thrown in class com.yubico.yubikit.yubiotp.StaticPasswordSlotConfiguration at new com.yubico.yubikit.yubiotp.StaticPasswordSlotConfiguration(byte[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
|
CT_CONSTRUCTOR_THROW:
yubiotp/src/main/java/com/yubico/yubikit/yubiotp/StaticTicketSlotConfiguration.java#L36
Exception thrown in class com.yubico.yubikit.yubiotp.StaticTicketSlotConfiguration at new com.yubico.yubikit.yubiotp.StaticTicketSlotConfiguration(byte[], byte[], byte[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
|
CT_CONSTRUCTOR_THROW:
yubiotp/src/main/java/com/yubico/yubikit/yubiotp/YubiOtpSession.java#L227
Exception thrown in class com.yubico.yubikit.yubiotp.YubiOtpSession at new com.yubico.yubikit.yubiotp.YubiOtpSession(OtpConnection) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
|
CT_CONSTRUCTOR_THROW:
yubiotp/src/main/java/com/yubico/yubikit/yubiotp/YubiOtpSession.java#L166
Exception thrown in class com.yubico.yubikit.yubiotp.YubiOtpSession at new com.yubico.yubikit.yubiotp.YubiOtpSession(SmartCardConnection) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
|
CT_CONSTRUCTOR_THROW:
yubiotp/src/main/java/com/yubico/yubikit/yubiotp/YubiOtpSlotConfiguration.java#L33
Exception thrown in class com.yubico.yubikit.yubiotp.YubiOtpSlotConfiguration at new com.yubico.yubikit.yubiotp.YubiOtpSlotConfiguration(byte[], byte[], byte[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
|
Artifacts
Produced during runtime
Name | Size | |
---|---|---|
build-reports
Expired
|
2.05 MB |
|
maven-repo
Expired
|
2.41 MB |
|