blob: 32eaf61115878dd7d585a511462c8497a4282c5d [file] [log] [blame]
"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5532],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>h});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function c(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var l=r.createContext({}),s=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},u=function(e){var t=s(e.components);return r.createElement(l.Provider,{value:t},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,l=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),p=s(n),m=o,h=p["".concat(l,".").concat(m)]||p[m]||d[m]||a;return n?r.createElement(h,i(i({ref:t},u),{},{components:n})):r.createElement(h,i({ref:t},u))}));function h(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,i=new Array(a);i[0]=m;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c[p]="string"==typeof e?e:o,i[1]=c;for(var s=2;s<a;s++)i[s]=n[s];return r.createElement.apply(null,i)}return r.createElement.apply(null,n)}m.displayName="MDXCreateElement"},77808:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>a,metadata:()=>c,toc:()=>s});var r=n(87462),o=(n(67294),n(3905));const a={layout:"post",title:"CloudStack Advisory on Insecure Project Invitation Token (CVE-2022-26779)",tags:["announcement"],authors:["daan"],slug:"cloudstack-advisory-on-insecure-project"},i=void 0,c={permalink:"/blog/cloudstack-advisory-on-insecure-project",editUrl:"https://github.com/apache/cloudstack-www/tree/main/blog/2022-03-16-cloudstack-advisory-on-insecure-project.md",source:"@site/blog/2022-03-16-cloudstack-advisory-on-insecure-project.md",title:"CloudStack Advisory on Insecure Project Invitation Token (CVE-2022-26779)",description:"Apache CloudStack prior to 4.16.1.0 used insecure random number generation for project invitation tokens. If a project invite is created based only on an email address, a random token is generated. An attacker with knowledge of the project ID and the fact that the invite is sent, could generate time deterministic tokens and brute force attempt to use them prior to the legitimate receiver accepting the invite.",date:"2022-03-16T00:00:00.000Z",formattedDate:"March 16, 2022",tags:[{label:"announcement",permalink:"/blog/tags/announcement"}],hasTruncateMarker:!0,authors:[{name:"Daan Hoogland",title:"Apache Foundation Member",url:"https://github.com/DaanHoogland",imageURL:"https://github.com/DaanHoogland.png",key:"daan"}],frontMatter:{layout:"post",title:"CloudStack Advisory on Insecure Project Invitation Token (CVE-2022-26779)",tags:["announcement"],authors:["daan"],slug:"cloudstack-advisory-on-insecure-project"},prevItem:{title:"Meet the Community - Nicolas Vazquez",permalink:"/blog/meet-the-community-nicolas-vazquez"},nextItem:{title:"Meet the Community - Slavka Peleva",permalink:"/blog/meet-the-community-slavka-peleva"}},l={authorsImageUrls:[void 0]},s=[],u={toc:s},p="wrapper";function d(e){let{components:t,...n}=e;return(0,o.kt)(p,(0,r.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"Apache CloudStack prior to 4.16.1.0 used insecure random number generation for project invitation tokens. If a project invite is created based only on an email address, a random token is generated. An attacker with knowledge of the project ID and the fact that the invite is sent, could generate time deterministic tokens and brute force attempt to use them prior to the legitimate receiver accepting the invite."),(0,o.kt)("p",null,"This feature is not enabled by default, the attacker is required to know or guess the project ID for the invite in addition to the invitation token, and the attacker would need to be an existing authorized user of CloudStack. Due to this the impact is considered low risk. As of 9th March 2022, this is now tracked under CVE-2021-44228: ",(0,o.kt)("a",{href:"https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-26779"},"https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-26779")),(0,o.kt)("p",null,"To mitigate the risk, a CloudStack admin can do any of the following:"),(0,o.kt)("p",null,"1. Disable the feature by setting `project.invitation.required` to false."),(0,o.kt)("p",null,"2. Disable the project SMTP global settings."),(0,o.kt)("p",null,"3. Upgrade to Apache CloudStack 4.16.1.0 or higher."))}d.isMDXComponent=!0}}]);