Skip to content

build path from repo root #510

build path from repo root

build path from repo root #510

Triggered via push December 15, 2023 12:48
Status Success
Total duration 3m 56s
Artifacts

android.yml

on: push
Fit to window
Zoom out
Zoom in

Annotations

203 warnings
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): AndroidDemo/src/main/java/com/yubico/yubikit/android/app/databinding/ActivityMainBinding.java#L38
com.yubico.yubikit.android.app.databinding.ActivityMainBinding.getRoot() may expose internal representation by returning ActivityMainBinding.rootView Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): AndroidDemo/src/main/java/com/yubico/yubikit/android/app/databinding/AppBarMainBinding.java#L33
com.yubico.yubikit.android.app.databinding.AppBarMainBinding.getRoot() may expose internal representation by returning AppBarMainBinding.rootView Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): AndroidDemo/src/main/java/com/yubico/yubikit/android/app/databinding/FragmentWebBinding.java#L44
com.yubico.yubikit.android.app.databinding.FragmentWebBinding.getRoot() may expose internal representation by returning FragmentWebBinding.rootView Summary: ...
Be wary of letting constructors throw exceptions. (BAD_PRACTICE): android/src/main/java/com/yubico/yubikit/android/transport/nfc/NfcYubiKeyManager.java#L55
Exception thrown in class com.yubico.yubikit.android.transport.nfc.NfcYubiKeyManager at new com.yubico.yubikit.android.transport.nfc.NfcYubiKeyManager(Context, NfcDispatcher) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. Summary: ...
Be wary of letting constructors throw exceptions. (BAD_PRACTICE): android/src/main/java/com/yubico/yubikit/android/transport/usb/UsbYubiKeyDevice.java#L69
Exception thrown in class com.yubico.yubikit.android.transport.usb.UsbYubiKeyDevice at new com.yubico.yubikit.android.transport.usb.UsbYubiKeyDevice(UsbManager, UsbDevice) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. Summary: ...
Be wary of letting constructors throw exceptions. (BAD_PRACTICE): android/src/main/java/com/yubico/yubikit/android/transport/usb/connection/UsbSmartCardConnection.java#L89
Exception thrown in class com.yubico.yubikit.android.transport.usb.connection.UsbSmartCardConnection at new com.yubico.yubikit.android.transport.usb.connection.UsbSmartCardConnection(UsbDeviceConnection, UsbInterface, UsbEndpoint, UsbEndpoint) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. Summary: ...
Non-null field is not initialized (CORRECTNESS): android/src/main/java/com/yubico/yubikit/android/ui/OtpActivity.java#L39
Non-null field keyListener is not initialized by new com.yubico.yubikit.android.ui.OtpActivity() Summary: ...
Non-null field is not initialized (CORRECTNESS): android/src/main/java/com/yubico/yubikit/android/ui/YubiKeyPromptActivity.java#L59
Non-null field action is not initialized by new com.yubico.yubikit.android.ui.YubiKeyPromptActivity() Summary: ...
Non-null field is not initialized (CORRECTNESS): android/src/main/java/com/yubico/yubikit/android/ui/YubiKeyPromptActivity.java#L59
Non-null field cancelButton is not initialized by new com.yubico.yubikit.android.ui.YubiKeyPromptActivity() Summary: ...
Non-null field is not initialized (CORRECTNESS): android/src/main/java/com/yubico/yubikit/android/ui/YubiKeyPromptActivity.java#L59
Non-null field enableNfcButton is not initialized by new com.yubico.yubikit.android.ui.YubiKeyPromptActivity() Summary: ...
Non-null field is not initialized (CORRECTNESS): android/src/main/java/com/yubico/yubikit/android/ui/YubiKeyPromptActivity.java#L59
Non-null field helpTextView is not initialized by new com.yubico.yubikit.android.ui.YubiKeyPromptActivity() Summary: ...
Non-null field is not initialized (CORRECTNESS): android/src/main/java/com/yubico/yubikit/android/ui/YubiKeyPromptActivity.java#L59
Non-null field yubiKit is not initialized by new com.yubico.yubikit.android.ui.YubiKeyPromptActivity() Summary: ...
Wait not in loop (MT_CORRECTNESS): core/src/main/java/com/yubico/yubikit/core/application/CommandState.java#L57
Wait not in loop in com.yubico.yubikit.core.application.CommandState.waitForCancel(long) Summary: ...
Be wary of letting constructors throw exceptions. (BAD_PRACTICE): core/src/main/java/com/yubico/yubikit/core/fido/FidoProtocol.java#L58
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. Summary: ...
Potential CRLF Injection for logs (SECURITY): core/src/main/java/com/yubico/yubikit/core/internal/Logger.java#L119
This use of org/slf4j/Logger.trace(Ljava/lang/String;)V might be used to include CRLF characters into log messages Summary: ...
Potential CRLF Injection for logs (SECURITY): core/src/main/java/com/yubico/yubikit/core/internal/Logger.java#L119
This use of org/slf4j/Logger.debug(Ljava/lang/String;)V might be used to include CRLF characters into log messages Summary: ...
Potential CRLF Injection for logs (SECURITY): core/src/main/java/com/yubico/yubikit/core/internal/Logger.java#L119
This use of org/slf4j/Logger.info(Ljava/lang/String;)V might be used to include CRLF characters into log messages Summary: ...
Potential CRLF Injection for logs (SECURITY): core/src/main/java/com/yubico/yubikit/core/internal/Logger.java#L119
This use of org/slf4j/Logger.warn(Ljava/lang/String;)V might be used to include CRLF characters into log messages Summary: ...
Potential CRLF Injection for logs (SECURITY): core/src/main/java/com/yubico/yubikit/core/internal/Logger.java#L119
This use of org/slf4j/Logger.error(Ljava/lang/String;)V might be used to include CRLF characters into log messages Summary: ...
Potential CRLF Injection for logs (SECURITY): core/src/main/java/com/yubico/yubikit/core/internal/Logger.java#L147
This use of org/slf4j/Logger.trace(Ljava/lang/String;Ljava/lang/Object;)V might be used to include CRLF characters into log messages Summary: ...
Potential CRLF Injection for logs (SECURITY): core/src/main/java/com/yubico/yubikit/core/internal/Logger.java#L147
This use of org/slf4j/Logger.debug(Ljava/lang/String;Ljava/lang/Object;)V might be used to include CRLF characters into log messages Summary: ...
Potential CRLF Injection for logs (SECURITY): core/src/main/java/com/yubico/yubikit/core/internal/Logger.java#L147
This use of org/slf4j/Logger.info(Ljava/lang/String;Ljava/lang/Object;)V might be used to include CRLF characters into log messages Summary: ...
Potential CRLF Injection for logs (SECURITY): core/src/main/java/com/yubico/yubikit/core/internal/Logger.java#L147
This use of org/slf4j/Logger.warn(Ljava/lang/String;Ljava/lang/Object;)V might be used to include CRLF characters into log messages Summary: ...
Potential CRLF Injection for logs (SECURITY): core/src/main/java/com/yubico/yubikit/core/internal/Logger.java#L147
This use of org/slf4j/Logger.error(Ljava/lang/String;Ljava/lang/Object;)V might be used to include CRLF characters into log messages Summary: ...
Potential CRLF Injection for logs (SECURITY): core/src/main/java/com/yubico/yubikit/core/internal/Logger.java#L171
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 Summary: ...
Potential CRLF Injection for logs (SECURITY): core/src/main/java/com/yubico/yubikit/core/internal/Logger.java#L171
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 Summary: ...
Potential CRLF Injection for logs (SECURITY): core/src/main/java/com/yubico/yubikit/core/internal/Logger.java#L171
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 Summary: ...
Potential CRLF Injection for logs (SECURITY): core/src/main/java/com/yubico/yubikit/core/internal/Logger.java#L171
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 Summary: ...
Potential CRLF Injection for logs (SECURITY): core/src/main/java/com/yubico/yubikit/core/internal/Logger.java#L171
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 Summary: ...
Potential CRLF Injection for logs (SECURITY): core/src/main/java/com/yubico/yubikit/core/internal/Logger.java#L195
This use of org/slf4j/Logger.trace(Ljava/lang/String;[Ljava/lang/Object;)V might be used to include CRLF characters into log messages Summary: ...
Potential CRLF Injection for logs (SECURITY): core/src/main/java/com/yubico/yubikit/core/internal/Logger.java#L195
This use of org/slf4j/Logger.debug(Ljava/lang/String;[Ljava/lang/Object;)V might be used to include CRLF characters into log messages Summary: ...
Potential CRLF Injection for logs (SECURITY): core/src/main/java/com/yubico/yubikit/core/internal/Logger.java#L195
This use of org/slf4j/Logger.info(Ljava/lang/String;[Ljava/lang/Object;)V might be used to include CRLF characters into log messages Summary: ...
Potential CRLF Injection for logs (SECURITY): core/src/main/java/com/yubico/yubikit/core/internal/Logger.java#L195
This use of org/slf4j/Logger.warn(Ljava/lang/String;[Ljava/lang/Object;)V might be used to include CRLF characters into log messages Summary: ...
Potential CRLF Injection for logs (SECURITY): core/src/main/java/com/yubico/yubikit/core/internal/Logger.java#L195
This use of org/slf4j/Logger.error(Ljava/lang/String;[Ljava/lang/Object;)V might be used to include CRLF characters into log messages Summary: ...
Be wary of letting constructors throw exceptions. (BAD_PRACTICE): core/src/main/java/com/yubico/yubikit/core/keys/PrivateKeyValues.java#L161
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. Summary: ...
Be wary of letting constructors throw exceptions. (BAD_PRACTICE): core/src/main/java/com/yubico/yubikit/core/keys/PublicKeyValues.java#L103
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. Summary: ...
Be wary of letting constructors throw exceptions. (BAD_PRACTICE): core/src/main/java/com/yubico/yubikit/core/keys/PublicKeyValues.java#L149
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. Summary: ...
Be wary of letting constructors throw exceptions. (BAD_PRACTICE): core/src/main/java/com/yubico/yubikit/core/otp/ChecksumUtils.java#L62
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. Summary: ...
Consider using Locale parameterized version of invoked method (I18N): core/src/main/java/com/yubico/yubikit/core/otp/Modhex.java#L44
Use of non-localized String.toUpperCase() or String.toLowerCase() in com.yubico.yubikit.core.otp.Modhex.decode(String) Summary: ...
Be wary of letting constructors throw exceptions. (BAD_PRACTICE): core/src/main/java/com/yubico/yubikit/core/otp/OtpProtocol.java#L59
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. Summary: ...
Be wary of letting constructors throw exceptions. (BAD_PRACTICE): core/src/main/java/com/yubico/yubikit/core/smartcard/ApduResponse.java#L32
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. Summary: ...
Be wary of letting constructors throw exceptions. (BAD_PRACTICE): core/src/main/java/com/yubico/yubikit/core/util/RandomUtils.java#L40
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. Summary: ...
Be wary of letting constructors throw exceptions. (BAD_PRACTICE): core/src/main/java/com/yubico/yubikit/core/util/StringUtils.java#L49
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. Summary: ...
Be wary of letting constructors throw exceptions. (BAD_PRACTICE): fido/src/main/java/com/yubico/yubikit/fido/client/BasicWebAuthnClient.java#L108
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. Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by incorporating reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
Dead store to local variable (STYLE): fido/src/main/java/com/yubico/yubikit/fido/client/CredentialManager.java#L96
Dead store to credentialIdMap in com.yubico.yubikit.fido.client.CredentialManager.getCredentials(String) Summary: ...
NullPointerException caught (STYLE): fido/src/main/java/com/yubico/yubikit/fido/client/MultipleAssertionsAvailable.java#L67
Do not catch NullPointerException like in com.yubico.yubikit.fido.client.MultipleAssertionsAvailable.getUsers() Summary: ...
Be wary of letting constructors throw exceptions. (BAD_PRACTICE): fido/src/main/java/com/yubico/yubikit/fido/ctap/Config.java#L71
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. Summary: ...
Be wary of letting constructors throw exceptions. (BAD_PRACTICE): fido/src/main/java/com/yubico/yubikit/fido/ctap/CredentialManagement.java#L77
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. Summary: ...
May expose internal representation by incorporating reference to mutable object (MALICIOUS_CODE): fido/src/main/java/com/yubico/yubikit/fido/ctap/CredentialManagement.java#L77
new com.yubico.yubikit.fido.ctap.CredentialManagement(Ctap2Session, PinUvAuthProtocol, byte[]) may expose internal representation by storing an externally mutable object into CredentialManagement.pinUvToken Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
Be wary of letting constructors throw exceptions. (BAD_PRACTICE): fido/src/main/java/com/yubico/yubikit/fido/ctap/Ctap2Session.java#L125
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. Summary: ...
Be wary of letting constructors throw exceptions. (BAD_PRACTICE): fido/src/main/java/com/yubico/yubikit/fido/ctap/Ctap2Session.java#L118
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. Summary: ...
Be wary of letting constructors throw exceptions. (BAD_PRACTICE): fido/src/main/java/com/yubico/yubikit/fido/ctap/Ctap2Session.java#L155
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. Summary: ...
Be wary of letting constructors throw exceptions. (BAD_PRACTICE): fido/src/main/java/com/yubico/yubikit/fido/ctap/Ctap2Session.java#L106
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. Summary: ...
Be wary of letting constructors throw exceptions. (BAD_PRACTICE): fido/src/main/java/com/yubico/yubikit/fido/ctap/Ctap2Session.java#L111
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. Summary: ...
An overridable method is called from a constructor (MALICIOUS_CODE): fido/src/main/java/com/yubico/yubikit/fido/ctap/Ctap2Session.java#L125
Overridable method getInfo is called from constructor new com.yubico.yubikit.fido.ctap.Ctap2Session(Version, Ctap2Session$Backend). Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
Be wary of letting constructors throw exceptions. (BAD_PRACTICE): fido/src/main/java/com/yubico/yubikit/fido/ctap/Hkdf.java#L36
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. Summary: ...
Static IV (SECURITY): fido/src/main/java/com/yubico/yubikit/fido/ctap/PinUvAuthProtocolV1.java#L119
The initialization vector (IV) is not properly generated Summary: ...
Static IV (SECURITY): fido/src/main/java/com/yubico/yubikit/fido/ctap/PinUvAuthProtocolV2.java#L146
The initialization vector (IV) is not properly generated Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by incorporating reference to mutable object (MALICIOUS_CODE): fido/src/main/java/com/yubico/yubikit/fido/webauthn/AttestationObject.java#L56
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 Summary: ...
May expose internal representation by incorporating reference to mutable object (MALICIOUS_CODE): fido/src/main/java/com/yubico/yubikit/fido/webauthn/AttestationObject.java#L56
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 Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by incorporating reference to mutable object (MALICIOUS_CODE): fido/src/main/java/com/yubico/yubikit/fido/webauthn/AttestedCredentialData.java#L39
new com.yubico.yubikit.fido.webauthn.AttestedCredentialData(byte[], byte[], Map) may expose internal representation by storing an externally mutable object into AttestedCredentialData.aaguid Summary: ...
May expose internal representation by incorporating reference to mutable object (MALICIOUS_CODE): fido/src/main/java/com/yubico/yubikit/fido/webauthn/AttestedCredentialData.java#L39
new com.yubico.yubikit.fido.webauthn.AttestedCredentialData(byte[], byte[], Map) may expose internal representation by storing an externally mutable object into AttestedCredentialData.cosePublicKey Summary: ...
May expose internal representation by incorporating reference to mutable object (MALICIOUS_CODE): fido/src/main/java/com/yubico/yubikit/fido/webauthn/AttestedCredentialData.java#L39
new com.yubico.yubikit.fido.webauthn.AttestedCredentialData(byte[], byte[], Map) may expose internal representation by storing an externally mutable object into AttestedCredentialData.credentialId Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by incorporating reference to mutable object (MALICIOUS_CODE): fido/src/main/java/com/yubico/yubikit/fido/webauthn/AuthenticatorAssertionResponse.java#L45
new com.yubico.yubikit.fido.webauthn.AuthenticatorAssertionResponse(byte[], byte[], byte[], byte[]) may expose internal representation by storing an externally mutable object into AuthenticatorAssertionResponse.authenticatorData Summary: ...
May expose internal representation by incorporating reference to mutable object (MALICIOUS_CODE): fido/src/main/java/com/yubico/yubikit/fido/webauthn/AuthenticatorAssertionResponse.java#L45
new com.yubico.yubikit.fido.webauthn.AuthenticatorAssertionResponse(byte[], byte[], byte[], byte[]) may expose internal representation by storing an externally mutable object into AuthenticatorAssertionResponse.signature Summary: ...
May expose internal representation by incorporating reference to mutable object (MALICIOUS_CODE): fido/src/main/java/com/yubico/yubikit/fido/webauthn/AuthenticatorAssertionResponse.java#L45
new com.yubico.yubikit.fido.webauthn.AuthenticatorAssertionResponse(byte[], byte[], byte[], byte[]) may expose internal representation by storing an externally mutable object into AuthenticatorAssertionResponse.userHandle Summary: ...
Be wary of letting constructors throw exceptions. (BAD_PRACTICE): fido/src/main/java/com/yubico/yubikit/fido/webauthn/AuthenticatorAttestationResponse.java#L79
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. Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by incorporating reference to mutable object (MALICIOUS_CODE): fido/src/main/java/com/yubico/yubikit/fido/webauthn/AuthenticatorAttestationResponse.java#L65
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 Summary: ...
May expose internal representation by incorporating reference to mutable object (MALICIOUS_CODE): fido/src/main/java/com/yubico/yubikit/fido/webauthn/AuthenticatorAttestationResponse.java#L65
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 Summary: ...
May expose internal representation by incorporating reference to mutable object (MALICIOUS_CODE): fido/src/main/java/com/yubico/yubikit/fido/webauthn/AuthenticatorAttestationResponse.java#L65
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 Summary: ...
May expose internal representation by incorporating reference to mutable object (MALICIOUS_CODE): fido/src/main/java/com/yubico/yubikit/fido/webauthn/AuthenticatorAttestationResponse.java#L79
new com.yubico.yubikit.fido.webauthn.AuthenticatorAttestationResponse(byte[], List, AttestationObject) may expose internal representation by storing an externally mutable object into AuthenticatorAttestationResponse.transports Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by incorporating reference to mutable object (MALICIOUS_CODE): fido/src/main/java/com/yubico/yubikit/fido/webauthn/AuthenticatorData.java#L64
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 Summary: ...
May expose internal representation by incorporating reference to mutable object (MALICIOUS_CODE): fido/src/main/java/com/yubico/yubikit/fido/webauthn/AuthenticatorData.java#L64
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 Summary: ...
May expose internal representation by incorporating reference to mutable object (MALICIOUS_CODE): fido/src/main/java/com/yubico/yubikit/fido/webauthn/AuthenticatorData.java#L64
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 Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
Suspicious reference comparison of Boolean values (BAD_PRACTICE): fido/src/main/java/com/yubico/yubikit/fido/webauthn/AuthenticatorSelectionCriteria.java#L79
Suspicious comparison of Boolean references in com.yubico.yubikit.fido.webauthn.AuthenticatorSelectionCriteria.fromMap(Map, SerializationType) Summary: ...
May expose internal representation by incorporating reference to mutable object (MALICIOUS_CODE): fido/src/main/java/com/yubico/yubikit/fido/webauthn/PublicKeyCredential.java#L66
new com.yubico.yubikit.fido.webauthn.PublicKeyCredential(byte[], AuthenticatorResponse) may expose internal representation by storing an externally mutable object into PublicKeyCredential.rawId Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by incorporating reference to mutable object (MALICIOUS_CODE): fido/src/main/java/com/yubico/yubikit/fido/webauthn/PublicKeyCredentialCreationOptions.java#L65
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 Summary: ...
May expose internal representation by incorporating reference to mutable object (MALICIOUS_CODE): fido/src/main/java/com/yubico/yubikit/fido/webauthn/PublicKeyCredentialCreationOptions.java#L65
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 Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by incorporating reference to mutable object (MALICIOUS_CODE): fido/src/main/java/com/yubico/yubikit/fido/webauthn/PublicKeyCredentialDescriptor.java#L40
new com.yubico.yubikit.fido.webauthn.PublicKeyCredentialDescriptor(String, byte[]) may expose internal representation by storing an externally mutable object into PublicKeyCredentialDescriptor.id Summary: ...
May expose internal representation by incorporating reference to mutable object (MALICIOUS_CODE): fido/src/main/java/com/yubico/yubikit/fido/webauthn/PublicKeyCredentialDescriptor.java#L46
new com.yubico.yubikit.fido.webauthn.PublicKeyCredentialDescriptor(String, byte[], List) may expose internal representation by storing an externally mutable object into PublicKeyCredentialDescriptor.id Summary: ...
May expose internal representation by incorporating reference to mutable object (MALICIOUS_CODE): fido/src/main/java/com/yubico/yubikit/fido/webauthn/PublicKeyCredentialDescriptor.java#L46
new com.yubico.yubikit.fido.webauthn.PublicKeyCredentialDescriptor(String, byte[], List) may expose internal representation by storing an externally mutable object into PublicKeyCredentialDescriptor.transports Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by incorporating reference to mutable object (MALICIOUS_CODE): fido/src/main/java/com/yubico/yubikit/fido/webauthn/PublicKeyCredentialRequestOptions.java#L57
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 Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by incorporating reference to mutable object (MALICIOUS_CODE): fido/src/main/java/com/yubico/yubikit/fido/webauthn/PublicKeyCredentialUserEntity.java#L35
new com.yubico.yubikit.fido.webauthn.PublicKeyCredentialUserEntity(String, byte[], String) may expose internal representation by storing an externally mutable object into PublicKeyCredentialUserEntity.id Summary: ...
May expose internal representation by incorporating reference to mutable object (MALICIOUS_CODE): management/src/main/java/com/yubico/yubikit/management/DeviceInfo.java#L66
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 Summary: ...
Be wary of letting constructors throw exceptions. (BAD_PRACTICE): management/src/main/java/com/yubico/yubikit/management/ManagementSession.java#L207
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. Summary: ...
Be wary of letting constructors throw exceptions. (BAD_PRACTICE): management/src/main/java/com/yubico/yubikit/management/ManagementSession.java#L172
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. Summary: ...
Be wary of letting constructors throw exceptions. (BAD_PRACTICE): management/src/main/java/com/yubico/yubikit/management/ManagementSession.java#L107
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. Summary: ...
Consider using Locale parameterized version of invoked method (I18N): 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) Summary: ...
Regex DOS (ReDOS) (SECURITY): oath/src/main/java/com/yubico/yubikit/oath/CredentialIdUtils.java#L30
The regular expression "^((\\d+)/)?(([^:]+):)?(.+)$" is vulnerable to a denial of service attack (ReDOS) Summary: ...
Improper handling of Unicode transformations (SECURITY): oath/src/main/java/com/yubico/yubikit/oath/HashAlgorithm.java#L72
Improper handling of Unicode transformations such as case mapping and normalization. Summary: ...
Be wary of letting constructors throw exceptions. (BAD_PRACTICE): oath/src/main/java/com/yubico/yubikit/oath/OathSession.java#L128
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. Summary: ...
Improper handling of Unicode transformations (SECURITY): oath/src/main/java/com/yubico/yubikit/oath/OathType.java#L54
Improper handling of Unicode transformations such as case mapping and normalization. Summary: ...
Improper handling of Unicode transformations (SECURITY): oath/src/main/java/com/yubico/yubikit/oath/OathType.java#L54
Improper handling of Unicode transformations such as case mapping and normalization. Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by incorporating reference to mutable object (MALICIOUS_CODE): openpgp/src/main/java/com/yubico/yubikit/openpgp/ApplicationRelatedData.java#L46
new com.yubico.yubikit.openpgp.ApplicationRelatedData(OpenPgpAid, byte[], ExtendedLengthInfo, EnumSet, DiscretionaryDataObjects) may expose internal representation by storing an externally mutable object into ApplicationRelatedData.generalFeatureManagement Summary: ...
May expose internal representation by incorporating reference to mutable object (MALICIOUS_CODE): openpgp/src/main/java/com/yubico/yubikit/openpgp/ApplicationRelatedData.java#L46
new com.yubico.yubikit.openpgp.ApplicationRelatedData(OpenPgpAid, byte[], ExtendedLengthInfo, EnumSet, DiscretionaryDataObjects) may expose internal representation by storing an externally mutable object into ApplicationRelatedData.historical Summary: ...
May expose internal representation by incorporating reference to mutable object (MALICIOUS_CODE): openpgp/src/main/java/com/yubico/yubikit/openpgp/DiscretionaryDataObjects.java#L70
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 Summary: ...
May expose internal representation by incorporating reference to mutable object (MALICIOUS_CODE): openpgp/src/main/java/com/yubico/yubikit/openpgp/DiscretionaryDataObjects.java#L70
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 Summary: ...
May expose internal representation by incorporating reference to mutable object (MALICIOUS_CODE): openpgp/src/main/java/com/yubico/yubikit/openpgp/DiscretionaryDataObjects.java#L70
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 Summary: ...
May expose internal representation by incorporating reference to mutable object (MALICIOUS_CODE): openpgp/src/main/java/com/yubico/yubikit/openpgp/DiscretionaryDataObjects.java#L70
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 Summary: ...
Consider returning a zero length array rather than null (STYLE): openpgp/src/main/java/com/yubico/yubikit/openpgp/DiscretionaryDataObjects.java#L122
Should com.yubico.yubikit.openpgp.DiscretionaryDataObjects.getCaFingerprint(KeyRef) return a zero length array rather than null? Summary: ...
Consider returning a zero length array rather than null (STYLE): openpgp/src/main/java/com/yubico/yubikit/openpgp/DiscretionaryDataObjects.java#L113
Should com.yubico.yubikit.openpgp.DiscretionaryDataObjects.getFingerprint(KeyRef) return a zero length array rather than null? Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by incorporating reference to mutable object (MALICIOUS_CODE): openpgp/src/main/java/com/yubico/yubikit/openpgp/ExtendedCapabilities.java#L41
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 Summary: ...
May expose internal representation by incorporating reference to mutable object (MALICIOUS_CODE): openpgp/src/main/java/com/yubico/yubikit/openpgp/Kdf.java#L126
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 Summary: ...
May expose internal representation by incorporating reference to mutable object (MALICIOUS_CODE): openpgp/src/main/java/com/yubico/yubikit/openpgp/Kdf.java#L126
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 Summary: ...
May expose internal representation by incorporating reference to mutable object (MALICIOUS_CODE): openpgp/src/main/java/com/yubico/yubikit/openpgp/Kdf.java#L126
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 Summary: ...
May expose internal representation by incorporating reference to mutable object (MALICIOUS_CODE): openpgp/src/main/java/com/yubico/yubikit/openpgp/Kdf.java#L126
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 Summary: ...
May expose internal representation by incorporating reference to mutable object (MALICIOUS_CODE): openpgp/src/main/java/com/yubico/yubikit/openpgp/Kdf.java#L126
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 Summary: ...
Be wary of letting constructors throw exceptions. (BAD_PRACTICE): openpgp/src/main/java/com/yubico/yubikit/openpgp/OpenPgpSession.java#L161
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. Summary: ...
An overridable method is called from a constructor (MALICIOUS_CODE): openpgp/src/main/java/com/yubico/yubikit/openpgp/OpenPgpSession.java#L161
Overridable method getApplicationRelatedData is called from constructor new com.yubico.yubikit.openpgp.OpenPgpSession(SmartCardConnection). Summary: ...
Consider using Locale parameterized version of invoked method (I18N): openpgp/src/main/java/com/yubico/yubikit/openpgp/PinPolicy.java#L31
Use of non-localized String.toUpperCase() or String.toLowerCase() in com.yubico.yubikit.openpgp.PinPolicy.toString() Summary: ...
Consider using Locale parameterized version of invoked method (I18N): openpgp/src/main/java/com/yubico/yubikit/openpgp/Uif.java#L42
Use of non-localized String.toUpperCase() or String.toLowerCase() in com.yubico.yubikit.openpgp.Uif.toString() Summary: ...
Be wary of letting constructors throw exceptions. (BAD_PRACTICE): piv/src/main/java/com/yubico/yubikit/piv/ObjectId.java#L73
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. Summary: ...
String is modified after validation and not before it (SECURITY): piv/src/main/java/com/yubico/yubikit/piv/Padding.java#L50
String is modified after validation and not before it. Tricky attackers may pass malicious strings which bypass validation. Summary: ...
RSA with no padding is insecure (SECURITY): piv/src/main/java/com/yubico/yubikit/piv/Padding.java#L50
Use of RSA cipher without proper padding Summary: ...
RSA with no padding is insecure (SECURITY): piv/src/main/java/com/yubico/yubikit/piv/Padding.java#L119
Use of RSA cipher without proper padding Summary: ...
Unsafe hash equals (SECURITY): piv/src/main/java/com/yubico/yubikit/piv/Padding.java#L50
Unsafe comparison of hash that are susceptible to timing attack Summary: ...
Unchecked/unconfirmed cast (STYLE): piv/src/main/java/com/yubico/yubikit/piv/PivSession.java#L975
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) Summary: ...
Unchecked/unconfirmed cast (STYLE): piv/src/main/java/com/yubico/yubikit/piv/PivSession.java#L975
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) Summary: ...
Be wary of letting constructors throw exceptions. (BAD_PRACTICE): piv/src/main/java/com/yubico/yubikit/piv/PivSession.java#L198
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. Summary: ...
Be wary of letting constructors throw exceptions. (BAD_PRACTICE): piv/src/main/java/com/yubico/yubikit/piv/jca/PivCipherSpi.java#L60
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. Summary: ...
Be wary of letting constructors throw exceptions. (BAD_PRACTICE): piv/src/main/java/com/yubico/yubikit/piv/jca/PivEcSignatureSpi.java#L144
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. Summary: ...
May expose internal representation by returning reference to mutable object (MALICIOUS_CODE): 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 Summary: ...
May expose internal representation by incorporating reference to mutable object (MALICIOUS_CODE): piv/src/main/java/com/yubico/yubikit/piv/jca/PivKeyManager.java#L31
new com.yubico.yubikit.piv.jca.PivKeyManager(PivPrivateKey, X509Certificate[]) may expose internal representation by storing an externally mutable object into PivKeyManager.privateKey Summary: ...
Unchecked/unconfirmed cast (STYLE): piv/src/main/java/com/yubico/yubikit/piv/jca/PivKeyStoreSpi.java#L221
Unchecked/unconfirmed cast from java.security.Key to java.security.PrivateKey in com.yubico.yubikit.piv.jca.PivKeyStoreSpi.engineSetKeyEntry(String, Key, char[], Certificate[]) Summary: ...
Consider returning a zero length array rather than null (STYLE): 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? Summary: ...
Consider using Locale parameterized version of invoked method (I18N): piv/src/main/java/com/yubico/yubikit/piv/jca/PivProvider.java#L68
Use of non-localized String.toUpperCase() or String.toLowerCase() in new com.yubico.yubikit.piv.jca.PivProvider(Callback) Summary: ...
Improper handling of Unicode transformations (SECURITY): piv/src/main/java/com/yubico/yubikit/piv/jca/PivProvider.java#L68
Improper handling of Unicode transformations such as case mapping and normalization. Summary: ...
Be wary of letting constructors throw exceptions. (BAD_PRACTICE): piv/src/main/java/com/yubico/yubikit/piv/jca/PivRsaSignatureSpi.java#L53
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. Summary: ...
Inefficient use of keySet iterator instead of entrySet iterator (PERFORMANCE): testing/src/main/java/com/yubico/yubikit/testing/fido/BasicWebAuthnClientTests.java#L493
com.yubico.yubikit.testing.fido.BasicWebAuthnClientTests.testClientCredentialManagement(Ctap2Session, Object[]) makes inefficient use of keySet iterator instead of entrySet iterator Summary: ...
Suspicious reference comparison of Boolean values (BAD_PRACTICE): 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) Summary: ...
Potential CRLF Injection for logs (SECURITY): testing/src/main/java/com/yubico/yubikit/testing/openpgp/OpenPgpDeviceTests.java#L191
This use of org/slf4j/Logger.info(Ljava/lang/String;Ljava/lang/Object;)V might be used to include CRLF characters into log messages Summary: ...
Potential CRLF Injection for logs (SECURITY): testing/src/main/java/com/yubico/yubikit/testing/openpgp/OpenPgpDeviceTests.java#L297
This use of org/slf4j/Logger.info(Ljava/lang/String;Ljava/lang/Object;)V might be used to include CRLF characters into log messages Summary: ...
Potential CRLF Injection for logs (SECURITY): testing/src/main/java/com/yubico/yubikit/testing/piv/PivJcaDecryptTests.java#L70
This use of org/slf4j/Logger.debug(Ljava/lang/String;Ljava/lang/Object;)V might be used to include CRLF characters into log messages Summary: ...
Potential CRLF Injection for logs (SECURITY): testing/src/main/java/com/yubico/yubikit/testing/piv/PivJcaDecryptTests.java#L86
This use of org/slf4j/Logger.debug(Ljava/lang/String;Ljava/lang/Object;)V might be used to include CRLF characters into log messages Summary: ...
Potential CRLF Injection for logs (SECURITY): testing/src/main/java/com/yubico/yubikit/testing/piv/PivJcaDecryptTests.java#L86
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 Summary: ...
Potential CRLF Injection for logs (SECURITY): testing/src/main/java/com/yubico/yubikit/testing/piv/PivJcaDecryptTests.java#L86
This use of org/slf4j/Logger.debug(Ljava/lang/String;Ljava/lang/Object;)V might be used to include CRLF characters into log messages Summary: ...
Potential CRLF Injection for logs (SECURITY): testing/src/main/java/com/yubico/yubikit/testing/piv/PivJcaSigningTests.java#L71
This use of org/slf4j/Logger.debug(Ljava/lang/String;Ljava/lang/Object;)V might be used to include CRLF characters into log messages Summary: ...
Potential CRLF Injection for logs (SECURITY): testing/src/main/java/com/yubico/yubikit/testing/piv/PivJcaSigningTests.java#L71
This use of org/slf4j/Logger.debug(Ljava/lang/String;Ljava/lang/Object;)V might be used to include CRLF characters into log messages Summary: ...
Potential CRLF Injection for logs (SECURITY): testing/src/main/java/com/yubico/yubikit/testing/piv/PivJcaSigningTests.java#L172
This use of org/slf4j/Logger.debug(Ljava/lang/String;Ljava/lang/Object;)V might be used to include CRLF characters into log messages Summary: ...
Potential CRLF Injection for logs (SECURITY): testing/src/main/java/com/yubico/yubikit/testing/piv/PivJcaSigningTests.java#L172
This use of org/slf4j/Logger.debug(Ljava/lang/String;Ljava/lang/Object;)V might be used to include CRLF characters into log messages Summary: ...
Potential CRLF Injection for logs (SECURITY): testing/src/main/java/com/yubico/yubikit/testing/piv/PivJcaUtils.java#L46
This use of org/slf4j/Logger.debug(Ljava/lang/String;[Ljava/lang/Object;)V might be used to include CRLF characters into log messages Summary: ...
Potential CRLF Injection for logs (SECURITY): testing/src/main/java/com/yubico/yubikit/testing/piv/PivJcaUtils.java#L46
This use of org/slf4j/Logger.debug(Ljava/lang/String;[Ljava/lang/Object;)V might be used to include CRLF characters into log messages Summary: ...
Unchecked/unconfirmed cast (STYLE): testing/src/main/java/com/yubico/yubikit/testing/piv/PivTestUtils.java#L292
Unchecked/unconfirmed cast from java.security.PublicKey to java.security.interfaces.ECKey in com.yubico.yubikit.testing.piv.PivTestUtils.ecKeyAgreement(PrivateKey, PublicKey) Summary: ...
Be wary of letting constructors throw exceptions. (BAD_PRACTICE): yubiotp/src/main/java/com/yubico/yubikit/yubiotp/HmacSha1SlotConfiguration.java#L52
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. Summary: ...
SHA-1 is a weak hash function (SECURITY): yubiotp/src/main/java/com/yubico/yubikit/yubiotp/HmacSha1SlotConfiguration.java#L32
This API SHA1 (SHA-1) is not a recommended cryptographic hash function Summary: ...
Be wary of letting constructors throw exceptions. (BAD_PRACTICE): yubiotp/src/main/java/com/yubico/yubikit/yubiotp/StaticPasswordSlotConfiguration.java#L31
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. Summary: ...
Be wary of letting constructors throw exceptions. (BAD_PRACTICE): yubiotp/src/main/java/com/yubico/yubikit/yubiotp/StaticTicketSlotConfiguration.java#L34
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. Summary: ...
Be wary of letting constructors throw exceptions. (BAD_PRACTICE): yubiotp/src/main/java/com/yubico/yubikit/yubiotp/YubiOtpSession.java#L207
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. Summary: ...
Be wary of letting constructors throw exceptions. (BAD_PRACTICE): yubiotp/src/main/java/com/yubico/yubikit/yubiotp/YubiOtpSession.java#L148
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. Summary: ...
Be wary of letting constructors throw exceptions. (BAD_PRACTICE): yubiotp/src/main/java/com/yubico/yubikit/yubiotp/YubiOtpSlotConfiguration.java#L31
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. Summary: ...