Impact
Symfony parameters (which is what Mautic transforms configuration parameters into) can be used within other Symfony parameters by design. However, this also means that an admin who is normally not privy to certain parameters, such as database credentials, could expose them by leveraging any of the free text fields in Mautic’s configuration that are used in publicly facing parts of the application.
For example,
- Go to Configuration page -> Landing Page Settings -> Analytics script and enter this: <
script> console.log("db password is: %mautic.db_password%"); </script>
- Visit any landing page and open the JS dev console. You will see the following message with real instance db password:
db password is: <real password>
Risk rating: ModerateCVSS:3.1/AV:L/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:L
Patches
Upgrade to 3.3.2
Workarounds
No
References
No
For more information
If you have any questions or comments about this advisory:
References
Impact
Symfony parameters (which is what Mautic transforms configuration parameters into) can be used within other Symfony parameters by design. However, this also means that an admin who is normally not privy to certain parameters, such as database credentials, could expose them by leveraging any of the free text fields in Mautic’s configuration that are used in publicly facing parts of the application.
For example,
script> console.log("db password is: %mautic.db_password%"); </script>
db password is: <real password>
Risk rating: ModerateCVSS:3.1/AV:L/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:L
Patches
Upgrade to 3.3.2
Workarounds
No
References
No
For more information
If you have any questions or comments about this advisory:
References