diff --git a/CHANGELOG.md b/CHANGELOG.md index 705689ae0..8a74d9b9a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ * OFW: **JS views finished** * OFW: BLE: improved pairing security * OFW: FeliCa Emulation: Handle certain Polling commands in firmware +* OFW PR 4287: Fix Ultralight EV1 regression (by @noproto) * OFW PR 4271: NFC: **Ultralight C NFC App Key Management, Dictionary Attack** (by @noproto) * OFW PR 4265: NFC: **Fix read crash** with unexpectedly large MFC AUTH(0) response (by @WillyJL) * OFW PR 4251: CLI: **Fix long delay** with quick connect/disconnect (by @WillyJL) diff --git a/applications/main/nfc/helpers/protocol_support/mf_ultralight/mf_ultralight.c b/applications/main/nfc/helpers/protocol_support/mf_ultralight/mf_ultralight.c index aa3cc2e75..5a0c88cf7 100644 --- a/applications/main/nfc/helpers/protocol_support/mf_ultralight/mf_ultralight.c +++ b/applications/main/nfc/helpers/protocol_support/mf_ultralight/mf_ultralight.c @@ -151,13 +151,16 @@ static NfcCommand if(!mf_ultralight_event->data->auth_context.skip_auth) { mf_ultralight_event->data->auth_context.password = instance->mf_ul_auth->password; - // Only set tdes_key for Manual/Reader auth types, not for dictionary attacks - if(instance->mf_ul_auth->type == MfUltralightAuthTypeManual || - instance->mf_ul_auth->type == MfUltralightAuthTypeReader) { - mf_ultralight_event->data->key_request_data.key = instance->mf_ul_auth->tdes_key; - mf_ultralight_event->data->key_request_data.key_provided = true; - } else { - mf_ultralight_event->data->key_request_data.key_provided = false; + if(data->type == MfUltralightTypeMfulC) { + // Only set tdes_key for Manual/Reader auth types, not for dictionary attacks + if(instance->mf_ul_auth->type == MfUltralightAuthTypeManual || + instance->mf_ul_auth->type == MfUltralightAuthTypeReader) { + mf_ultralight_event->data->key_request_data.key = + instance->mf_ul_auth->tdes_key; + mf_ultralight_event->data->key_request_data.key_provided = true; + } else { + mf_ultralight_event->data->key_request_data.key_provided = false; + } } } } else if(mf_ultralight_event->type == MfUltralightPollerEventTypeAuthSuccess) {