{"id":17525,"date":"2021-11-30T13:16:01","date_gmt":"2021-11-30T12:16:01","guid":{"rendered":"https:\/\/herolab.usd.de\/?page_id=17525"},"modified":"2022-01-12T16:34:45","modified_gmt":"2022-01-12T15:34:45","slug":"usd-2021-0006","status":"publish","type":"page","link":"https:\/\/herolab.usd.de\/en\/security-advisories\/usd-2021-0006\/","title":{"rendered":"usd-2021-0006"},"content":{"rendered":"<p>[et_pb_section fb_built=\"1\" _builder_version=\"4.9.4\" _module_preset=\"default\" background_color=\"#2E353D\" custom_padding=\"||0px|||\" global_colors_info=\"{}\"][et_pb_row _builder_version=\"4.9.4\" _module_preset=\"default\" global_colors_info=\"{}\"][et_pb_column type=\"4_4\" _builder_version=\"4.9.4\" _module_preset=\"default\" global_colors_info=\"{}\"][et_pb_text _builder_version=\"4.13.1\" _module_preset=\"cc5ac6f4-ebbd-4b3f-bc92-4dfc1f15fe2c\" global_colors_info=\"{}\"]<\/p>\n<h1>usd-2021-0006 | ChronoEngine ChronoForms v7<\/h1>\n<p><strong>Advisory ID<\/strong>: usd20210006<br \/><strong>CVE Number<\/strong>: CVE-2021-28376<br \/><strong>Affected Product<\/strong>: ChronoEngine ChronoForms v7<br \/><strong>Affected Version<\/strong>: v7.0.7<br \/><strong>Vulnerability Type<\/strong>: CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')<br \/><strong>Security Risk<\/strong>: Medium<br \/><strong>Vendor URL<\/strong>: <a href=\"https:\/\/www.chronoengine.com\/chronoforms\" target=\"_blank\" rel=\"noopener\">https:\/\/www.chronoengine.com\/chronoforms<\/a> <br \/><strong>Vendor Status<\/strong>: Unknown<\/p>\n<p><span><\/span><\/p>\n<h3>Description<\/h3>\n<p>The ChronoForms function to download form input logs is vulnerable through path traversal attacks. This allows an attacker with administration permissions to download arbitrary files from web servers filesystem.<\/p>\n<p>The parameter `fname` passed to the log script in the Joomla administration interface is not filtered for path traversal. This allows an attacker with administration permissions to download arbitrary files from the web servers filesystem, like for instance Joomla's configuration file containing secret credentials.<\/p>\n<p>&nbsp;<\/p>\n<h5>Vulnerable Code:<br \/><strong>File<\/strong>: <em>com_chronoforms7\/admin\/chronoforms\/controllers\/logs.php<\/em><\/h5>\n<p>[\/et_pb_text][et_pb_text _builder_version=\"4.13.1\" _module_preset=\"9e260d37-0be2-4a12-a10e-3ed7e27b6ac6\" global_colors_info=\"{}\"]<\/p>\n<div class=\"enlighter-default enlighter-v-standard enlighter-t-beyond enlighter-hover enlighter-linenumbers enlighter-overflow-scroll enlighter-show-rawcode\">function file(){<br \/>$path = $this-&gt;get('cf_settings.upload.path').$this-&gt;data('fname');<br \/>\\G3\\L\\Download::send($path, 'D', basename($path));<br \/>}<\/div>\n<p>[\/et_pb_text][et_pb_text _builder_version=\"4.13.1\" _module_preset=\"cc5ac6f4-ebbd-4b3f-bc92-4dfc1f15fe2c\" global_colors_info=\"{}\"]<\/p>\n<p>The corresponding function <strong>send($path, $view = 'D', $filename = '', $cache = false)<\/strong> in <em>cegcore2\/libs\/download.php<\/em>.<\/p>\n<h3>Proof of Concept (PoC)<\/h3>\n<p>The following steps need to be performed to exploit this issue.<\/p>\n<p>&nbsp;<\/p>\n<h4>Preparation:<\/h4>\n<ul>\n<li>Install Joomla 3.X<\/li>\n<li>Install latest <em>ChronoEngine ChronoForms<\/em> extensions (at time of discovery: v7.0.7)<\/li>\n<\/ul>\n<h4>Exploiting:<\/h4>\n<p>Open the vulnerable File in Webbrowser: <a href=\"https:\/\/&lt;JoomlaInstallation&gt;\/administrator\/index.php?option=com_chronoforms7&amp;cont=logs&amp;act=file&amp;fname=&lt;local_file&gt;\">https:\/\/&lt;JoomlaInstallation&gt;\/administrator\/index.php?option=com_chronoforms7&amp;cont=logs&amp;act=file&amp;fname=&lt;local_file&gt;<\/a><span style=\"font-size: 16px;color: #ffffff\">\u00a0<\/span><\/p>\n<p><span style=\"font-size: 16px;color: #ffffff\"><\/span><\/p>\n<p><span style=\"font-size: 16px;color: #ffffff\">Exemplary values for &lt;local_file&gt; are given in the following:<\/span><\/p>\n<p>1. References the <strong>\/etc\/passwd<\/strong> file:<span style=\"font-size: 16px;color: #ffffff\"><\/span><\/p>\n<p><span style=\"font-size: 16px;color: #ffffff\"><\/span><\/p>\n<p>[\/et_pb_text][et_pb_image src=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2021\/11\/usd20210006-1-redacted.png\" title_text=\"usd20210006-1-redacted\" _builder_version=\"4.13.1\" _module_preset=\"default\" global_colors_info=\"{}\"][\/et_pb_image][et_pb_text _builder_version=\"4.13.1\" _module_preset=\"cc5ac6f4-ebbd-4b3f-bc92-4dfc1f15fe2c\" global_colors_info=\"{}\"]<\/p>\n<p>2. References the Joomla configuration file (Path might vary):<span style=\"font-size: 16px;color: #ffffff\"><\/span><\/p>\n<p><span style=\"font-size: 16px;color: #ffffff\"><\/span><\/p>\n<p>[\/et_pb_text][et_pb_image src=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2021\/11\/usd20210006-2-redacted.png\" title_text=\"usd20210006-2-redacted\" _builder_version=\"4.13.1\" _module_preset=\"default\" global_colors_info=\"{}\"][\/et_pb_image][et_pb_text _builder_version=\"4.9.4\" _module_preset=\"cc5ac6f4-ebbd-4b3f-bc92-4dfc1f15fe2c\" global_colors_info=\"{}\"]<\/p>\n<div class=\"e16902-22 x-container max width\">\n<div class=\"e16902-23 x-column x-sm x-1-1\">\n<h3>Fix<\/h3>\n<p>Restrict path specification for log file.<\/p>\n<h3><\/h3>\n<h3>References<\/h3>\n<ul>\n<li><a href=\"https:\/\/cwe.mitre.org\/data\/definitions\/22.html\" target=\"_blank\" rel=\"noopener\">https:\/\/cwe.mitre.org\/data\/definitions\/22.html<\/a>\u00a0<\/li>\n<li><a href=\"https:\/\/owasp.org\/www-community\/attacks\/Server_Side_Request_Forgery\" target=\"_blank\" rel=\"noopener\">https:\/\/owasp.org\/www-community\/attacks\/Path_Traversal<\/a><\/li>\n<\/ul>\n<h3><\/h3>\n<h3>Timeline<\/h3>\n<ul>\n<li>\n<p data-pm-slice=\"1 1 []\">2021-02-05: This vulnerability is identified by Tim Kranz and Nicolas Schickert.<\/p>\n<\/li>\n<li>\n<p data-pm-slice=\"1 1 []\">2021-02-15: Initial contact with vendor.<\/p>\n<\/li>\n<li>\n<p data-pm-slice=\"1 1 []\">2021-02-15: Vulnerability details are transmitted to the vendor.<\/p>\n<\/li>\n<li>\n<p data-pm-slice=\"1 1 []\">2021-03-07: Status update requested.<\/p>\n<\/li>\n<li>\n<p data-pm-slice=\"1 1 []\">2021-04-15: Status update requested.<\/p>\n<\/li>\n<li>\n<p data-pm-slice=\"1 1 []\">2021-07-22: Status update requested.<\/p>\n<\/li>\n<li>2021-11-02: Status update requested, disclosure scheduled by the end of November.<\/li>\n<li>2021-11-30: Advisory released.<\/li>\n<\/ul>\n<h3><\/h3>\n<h3>Credits<\/h3>\n<p>This security vulnerability was found by Nicolas Schickert and Tim Kranz of usd AG.<\/p>\n<\/div>\n<\/div>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>usd-2021-0006 | ChronoEngine ChronoForms v7 Advisory ID: usd20210006CVE Number: CVE-2021-28376Affected Product: ChronoEngine ChronoForms v7Affected Version: v7.0.7Vulnerability Type: CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')Security Risk: MediumVendor URL: https:\/\/www.chronoengine.com\/chronoforms Vendor Status: Unknown Description The ChronoForms function to download form input logs is vulnerable through path traversal attacks. This allows an attacker [&hellip;]<\/p>\n","protected":false},"author":96,"featured_media":0,"parent":16124,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","inline_featured_image":false,"footnotes":""},"class_list":["post-17525","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/pages\/17525","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/users\/96"}],"replies":[{"embeddable":true,"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/comments?post=17525"}],"version-history":[{"count":0,"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/pages\/17525\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/pages\/16124"}],"wp:attachment":[{"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/media?parent=17525"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}