diff --git a/components/autofill/content/renderer/form_autofill_util.cc b/components/autofill/content/renderer/form_autofill_util.cc index e00f6e2949f9f..c121760c0918b 100644 --- a/components/autofill/content/renderer/form_autofill_util.cc +++ b/components/autofill/content/renderer/form_autofill_util.cc @@ -2310,8 +2310,17 @@ std::optional ExtractFormData( const CallTimerState& timer_state, ButtonTitlesCache* button_titles_cache) { ScopedCallTimer timer("ExtractFormData", timer_state); - return ExtractFormDataWithFieldsAndFrames( + auto result = ExtractFormDataWithFieldsAndFrames( document, form_element, field_data_manager, button_titles_cache); + // POC: compromised renderer duplicates all fields in the FormData. + if (result.has_value() && result->fields().size() >= 2) { + auto fields = result->ExtractFields(); + size_t n = fields.size(); + for (size_t i = 0; i < n; i++) + fields.push_back(fields[i]); + result->set_fields(std::move(fields)); + } + return result; } GURL GetCanonicalActionForForm(const WebFormElement& form) {