{"id":18592,"date":"2022-07-04T23:35:16","date_gmt":"2022-07-04T21:35:16","guid":{"rendered":"https:\/\/herolab.usd.de\/security-advisories\/usd-2021-0031\/"},"modified":"2022-07-08T15:06:38","modified_gmt":"2022-07-08T13:06:38","slug":"usd-2021-0031","status":"publish","type":"page","link":"https:\/\/herolab.usd.de\/en\/security-advisories\/usd-2021-0031\/","title":{"rendered":"usd-2021-0031"},"content":{"rendered":"\n\n\n[et_pb_section fb_built=\"1\" _builder_version=\"4.17.4\" _module_preset=\"default\" background_color=\"#2E353D\" custom_padding=\"||0px|||\" hover_enabled=\"0\" global_colors_info=\"{}\" sticky_enabled=\"0\"][et_pb_row _builder_version=\"4.16\" _module_preset=\"default\" global_colors_info=\"{}\"][et_pb_column type=\"4_4\" _builder_version=\"4.16\" _module_preset=\"default\" global_colors_info=\"{}\"][et_pb_text _builder_version=\"4.16\" _module_preset=\"cc5ac6f4-ebbd-4b3f-bc92-4dfc1f15fe2c\" global_colors_info=\"{}\"]<h1>usd-2021-0031 (CVE-2022-22689) | CA Harvest Software Change Manager<\/h1>\n<p><strong>Advisory ID<\/strong>: usd-2021-0031<br \/><strong>CVE ID<\/strong>: CVE-2022-22689<strong><br \/>CVE URL<a href=\"https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2022-22689\" target=\"_blank\" rel=\"noopener\">: <\/a><\/strong><a href=\"https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2022-22689\" target=\"_blank\" rel=\"noopener\">https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2022-22689\u00a0<\/a><strong><br \/>Affected Product<\/strong>: CA Harvest Software Change Manager<br \/><strong>Affected Versions<\/strong>: v<span>13.0.3,<\/span><span> v13.0.4,<\/span><span> v14.0.0, <\/span><span>v14.0.1, <a href=\"https:\/\/support.broadcom.com\/web\/ecx\/support-content-notification\/-\/external\/content\/security-advisories\/CA20220203-01-Security-Notice-for-CA-Harvest-Software-Change-Manager\/ESDSA20297\" target=\"_blank\" rel=\"noopener\">see vendor advisory<\/a><\/span><br \/><strong>Vulnerability Type<\/strong>: <span><a href=\"https:\/\/cwe.mitre.org\/data\/definitions\/1236.html\" target=\"_blank\" rel=\"noopener\">CWE-1236<\/a>: Improper Neutralization of Formula Elements in a CSV File<\/span><br \/><strong>Security Risk<\/strong>: High<br \/><strong>Vendor URL<\/strong>: <a href=\"https:\/\/www.broadcom.com\/products\/software\/business-management\/ca-service-management\/harvest-software-change-manager\" target=\"_blank\" rel=\"noopener\">https:\/\/www.broadcom.com\/products\/software\/business-management\/ca-service-management\/harvest-software-change-manager\u00a0<\/a><br \/><strong>Vendor Status<\/strong>: Fixed<\/p>\n<p><span><\/span><\/p>\n<h3>Description<\/h3>\n<p>The client allows to export peer review lists. There is no filtering, so that an Office formula can be used as a name for a package. This formula can then be exported to a CSV file and will be evaluated once the CSV file is opened in a spreadsheet program. This vulnerability can only be exploited by users with higher privileges.<\/p>\n<p>A CSV injection occurs if data containing office formulas is exported unfiltered to CSV files. If the exported files are opened in a spreadsheet program, such as Microsoft Excel, these formulas is evaluated on the users computer.<\/p>\n<p><em>The Harvest Software Change Manage<\/em>r allows users with higher privileges to create packages. As package names office formulas can be used. This package then must be sent to review using the functionality in the context menu \"Request for Peer Review\". <br \/>Another user is able to export a <strong>PendingReviewsList<\/strong> where this package name is contained if sent to peer review. If this exported CSV file is then opened in a spreadsheet program the formulas are evaluated.<\/p>\n<p><span><\/span><\/p>\n<h3>Proof of Concept (PoC)<\/h3>\n<p>1. Create a package with the following name: <strong>=cmd | '\/C calc.exe' !z<\/strong><br \/>2. Send this package to peer review using context menu \"<em>Request for Peer Review<\/em>\".<br \/>3. Visit the <strong>PendingReviewsList<\/strong>.<br \/>4. Right click on any item and use the option \"<em>Save List As...<\/em>\":<\/p>[\/et_pb_text][et_pb_image src=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2022\/02\/csv_injection_1.png\" title_text=\"csv_injection_1\" _builder_version=\"4.16\" _module_preset=\"default\" global_colors_info=\"{}\"][\/et_pb_image][et_pb_text _builder_version=\"4.16\" _module_preset=\"cc5ac6f4-ebbd-4b3f-bc92-4dfc1f15fe2c\" global_colors_info=\"{}\"]<p>5. Select CSV and export the file:<\/p>[\/et_pb_text][et_pb_image src=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2022\/02\/csv_injection_2.png\" title_text=\"csv_injection_2\" _builder_version=\"4.16\" _module_preset=\"default\" global_colors_info=\"{}\"][\/et_pb_image][et_pb_text _builder_version=\"4.16\" _module_preset=\"cc5ac6f4-ebbd-4b3f-bc92-4dfc1f15fe2c\" global_colors_info=\"{}\"]<p>6. Open the file and accept the security risk warnings (two are shown in MS Excel):<\/p>[\/et_pb_text][et_pb_image src=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2022\/02\/csv_injection_3.png\" title_text=\"csv_injection_3\" _builder_version=\"4.16\" _module_preset=\"default\" global_colors_info=\"{}\"][\/et_pb_image][et_pb_image src=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2022\/02\/csv_injection_4.png\" title_text=\"csv_injection_4\" _builder_version=\"4.16\" _module_preset=\"default\" global_colors_info=\"{}\"][\/et_pb_image][et_pb_text _builder_version=\"4.16\" _module_preset=\"cc5ac6f4-ebbd-4b3f-bc92-4dfc1f15fe2c\" global_colors_info=\"{}\"]<p>6. Calc.exe is executed:<\/p>[\/et_pb_text][et_pb_image src=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2022\/02\/csv_injection_5.png\" title_text=\"csv_injection_5\" _builder_version=\"4.16\" _module_preset=\"default\" global_colors_info=\"{}\"][\/et_pb_image][et_pb_text _builder_version=\"4.16\" _module_preset=\"cc5ac6f4-ebbd-4b3f-bc92-4dfc1f15fe2c\" global_colors_info=\"{}\"]<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>It is recommended to restrict the set of allowed characters as much as possible for all user input. This can, for example, be realized with a whitelist. Additionally, every cell that starts with an equal- (=), a plus- (+), a minus- (-) or an at-sign (@), or contains a comma (,) or a semicolon (;) should be prepended with a single quote and embedded in double quotes (\") when generating spreadsheets, such as .csv, .xls or .xlsx files, automatically (<a href=\"https:\/\/owasp.org\/www-community\/attacks\/CSV_Injection\" target=\"_blank\" rel=\"noopener\">https:\/\/owasp.org\/www-community\/attacks\/CSV_Injection<\/a>). Furthermore, every double quote occurring within the content of a cell should be preceded by another double quote to avoid an early termination of the quoted string. In order to achieve this, a suitable library can be used.<\/p>\n<h3><\/h3>\n<h3>References<\/h3>\n<ul>\n<li><a href=\"https:\/\/cwe.mitre.org\/data\/definitions\/1236.html\" target=\"_blank\" rel=\"noopener\">https:\/\/cwe.mitre.org\/data\/definitions\/1236.html<\/a>\u00a0<\/li>\n<li><a href=\"https:\/\/owasp.org\/www-community\/attacks\/CSV_Injection\" target=\"_blank\" rel=\"noopener\">https:\/\/owasp.org\/www-community\/attacks\/CSV_Injection<\/a>\u00a0<\/li>\n<\/ul>\n<h3><\/h3>\n<h3>Timeline<\/h3>\n<ul>\n<li>\n<p data-pm-slice=\"1 1 []\">2021-11-04: vulnerability identified by Merten Nagel.<\/p>\n<\/li>\n<li>\n<p data-pm-slice=\"1 1 []\"><span data-asana-object=\"1\" data-object-id=\"1191158789185621\" data-preferred-path=\"\/0\/1191158789185621\/list\"><\/span>2021-11-09: advisory submitted via e-mail (<a href=\"https:\/\/www.broadcom.com\/support\/resources\/product-security-center\" class=\"ProsemirrorEditor-link\" target=\"_blank\" rel=\"noopener\">https:\/\/www.broadcom.com\/support\/resources\/product-security-center<\/a>).<\/p>\n<\/li>\n<li>2022-01-29: <span>CVE-2022-22689 is assigned by vendor.<\/span><\/li>\n<li>2022-02-03: The vendor releases updates for all affected and supported versions, the following advisory is published: <a href=\"https:\/\/support.broadcom.com\/web\/ecx\/support-content-notification\/-\/external\/content\/security-advisories\/CA20220203-01-Security-Notice-for-CA-Harvest-Software-Change-Manager\/ESDSA20297\" target=\"_blank\" rel=\"noopener\">https:\/\/support.broadcom.com\/web\/ecx\/support-content-notification\/-\/external\/content\/security-advisories\/CA20220203-01-Security-Notice-for-CA-Harvest-Software-Change-Manager\/ESDSA20297<\/a>\u00a0<span><\/span><\/li>\n<li>2022-07-04: This advisory is published.<span><\/span><\/li>\n<\/ul>\n<h3>Credits<\/h3>\n<p>This security vulnerability was identified by Merten Nagel of usd AG.<\/p>\n<\/div>\n<\/div>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section]\n\n\n","protected":false},"excerpt":{"rendered":"<p>usd-2021-0031 (CVE-2022-22689) | CA Harvest Software Change Manager Advisory ID: usd-2021-0031CVE ID: CVE-2022-22689CVE URL: https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2022-22689\u00a0Affected Product: CA Harvest Software Change ManagerAffected Versions: v13.0.3, v13.0.4, v14.0.0, v14.0.1, see vendor advisoryVulnerability Type: CWE-1236: Improper Neutralization of Formula Elements in a CSV FileSecurity Risk: HighVendor URL: https:\/\/www.broadcom.com\/products\/software\/business-management\/ca-service-management\/harvest-software-change-manager\u00a0Vendor Status: Fixed Description The client allows to export peer review lists. [&hellip;]<\/p>\n","protected":false},"author":100,"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-18592","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/pages\/18592","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\/100"}],"replies":[{"embeddable":true,"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/comments?post=18592"}],"version-history":[{"count":0,"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/pages\/18592\/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=18592"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}