Hi Wei
CloudStack 4.19.1.1. I upgraded two days ago. -David ________________________________ Fra: Wei ZHOU <ustcweiz...@gmail.com> Sendt: torsdag 19. september 2024 09:08 Til: david.lar...@adcom.no.invalid <david.lar...@adcom.no.invalid> Kopi: users@cloudstack.apache.org <users@cloudstack.apache.org> Emne: Re: Security Check: High:Public Resource Access after upgrade to CS 4.19.1 (latest) Hi, Do you use 4.19.1.1 or 4.19.1.0 ? -Wei On Thu, Sep 19, 2024 at 9:01 AM David Larsen <david.lar...@adcom.no.invalid> wrote: > Hi > > I have recently done a upgrade from Cloudstack 4.18.0 to 4.19.1 (latest) > Before the upgrade we ran a web security check against our CS site. No > high security issues were found. > After the upgrade to 4.19.1 (latest), we get the error shown below. > > Do I have to worry about this errors? > > I have included the index.html file below. > Do we need to refer to all those .js files? > > ------ > High: > Public Resource Access > HID: HID-3-0-10186 > CVE ID(s): > OWASP: Broken Access Control > CVSS v2 base: 7.5 > CVSS v3.0 base: 0 > CWE: 276 > Published: 2024-07-18 > Service modified: 2024-07-18 > Summary: > Files, folders, or web pages, are made publicly accessible without proper > access control. This could happen due to misconfigured permissions, > where resources that are intended to be private are unintentionally > exposed to the public. > Impact: > Public Resource Access can be significant, as it could lead to > unauthorized access to sensitive information, modification of data, or even > complete system compromise. > Insight: > Detection: > Attempts to find valid resources and their access information. > Solution: > Proper access control mechanisms should be implemented to restrict access > to resources. Only authorized users should be granted access to > sensitive resources, and access should be granted based on the principle > of least privilege. > > > Request: > GET https:// *:8443/client/js/chunk-b37f0a76.99177485.js HTTP/1.1 > Payload: > Result: > GS > Name: kubernetes-release > Message:OPEN GOOGLE BUCKET > Access: Public > > -------- > > Clickjacking vulnerability > HID: HID-3-0-00053 > CVE ID(s): > OWASP: No category > CVSS v2 base: 5 > CVSS v3.0 base: 0 > CWE: 693 > Published: 2016-10-31 > Service modified: 2016-07-05 > Summary: > This test checks every page for X-Frame-Options header and so for possible > ClickJacking attack against URL. Note: Check "Insight for more > information" > Impact: > A common form of clickjacking involves mirroring a login and password form > on a website. An attacker may also choose to redirect the clicks > to download malware or gain access to vital systems > Insight: > The X-Frame-Options HTTP response header can be used to indicate whether > or not a browser should be allowed to render a page in a > <frame>, <iframe>, <embed> or <object>. Sites can use this to avoid > clickjacking attacks, by ensuring that their content is not embedded > into other sites. Clickjacking, also known as a "UI redress attack", is > when an attacker uses multiple transparent or opaque layers to trick a > user into clicking on a button or link on another page when they were > intending to click on the the top level page. Thus, the attacker is > "hijacking" clicks meant for their page and routing them to another page, > most likely owned by another application, domain, or both. Using a > similar te … > (showing first 700 characters) > Detection: > Checking every page for missing clickjacking protection headers. > Solution: > There are two main ways to prevent clickjacking: > Sending the proper Content Security Policy (CSP) frame-ancestors directive > response headers that instruct the browser to not allow framing > from other domains. (This replaces the older X-Frame-Options HTTP headers.) > Employing defensive code in the UI to ensure that the current frame is the > most top level window > > > --------index.html---------------- > > <!DOCTYPE html><html lang="en-gb"><head><meta charset="utf-8"><meta > http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" > content="width=device-width,initial-scale=1"><link id="favicon" > rel="icon" href="cloud.ico"><title id="title">Apache > CloudStack</title><style>.loader { > border: 16px solid #F3F3F3; > border-top: 16px solid #39A7DE; > border-radius: 50%; > width: 80px; > height: 80px; > animation: spin 1s linear infinite; > position: fixed; > left: 0; right: 0; > top: 0; bottom: 0; > margin: auto; > max-width: 100%; > max-height: 100%; > overflow: hidden; > } > @keyframes spin { > 0% { transform: rotate(0deg); } > 100% { transform: rotate(360deg); } > }</style><link href="css/auth.bdbe1f27.css" rel="prefetch"><link > href="css/chunk-001d94be.15457437.css" rel="prefetch"><link > href="css/chunk-00f0221f.405337c5.css" rel="prefetch"><link > href="css/chunk-0354bb85.909234d3.css" > rel="prefetch"><link href="css/chunk-0384404c.92cbe923.css" > rel="prefetch"><link href="css/chunk-0386ae5b.3c06ceed.css" > rel="prefetch"><link href="css/chunk-03e84935.2e612cdb.css" > rel="prefetch"><link href="css/chunk-069c233b.fff93d64.css" > rel="prefetch"><link href="css/chunk-06b5e604.85b561d5.css" > rel="prefetch"><link href="css/chunk-09dd9f57.241b28cd.css" > rel="prefetch"><link href="css/chunk-0d2e01ce.d819e295.css" > rel="prefetch"><link href="css/chunk-0fff6ba4.933857ba.css" > rel="prefetch"><link href="css/chunk-11318278.814cfdf7.css" > rel="prefetch"><link href="css/chunk-11676eca.c423795f.css" > rel="prefetch"><link href="css/chunk-12032aec.e01b234c.css" > rel="prefetch"><link href="css/chunk-1463f894.54cb3b9f.css" > rel="prefetch"><link href="css/chunk-14ac702e.203df03c.css" > rel="prefetch"><link href="css/chunk-15a34b80.14453014.css" > rel="prefetch"><link href="css/chunk-1624500c.b71cbf41.css" > rel="prefetch"><link href="css/chunk-16439946.3f992b2d.css" > rel="prefetch"><link href="css/chunk-183d75fe.c608d616.css" > rel="prefetch"><link href="css/chunk-1ac97c8d.e7a4d106.css" > rel="prefetch"><link href="css/chunk-1afb24b8.c99d0e88.css" > rel="prefetch"><link href="css/chunk-1b53f20e.e7f9237e.css" > rel="prefetch"><link href="css/chunk-1b690fd0.9a7e3ec5.css" > rel="prefetch"><link href="css/chunk-1ec9fccf.7946fdfc.css" > rel="prefetch"><link href="css/chunk-1f762641.c21d6ec5.css" > rel="prefetch"><link href="css/chunk-20af231f.a4433b0a.css" > rel="prefetch"><link href="css/chunk-20bbb02c.965befb5.css" > rel="prefetch"><link href="css/chunk-21ba8d4d.e6c9a074.css" > rel="prefetch"><link href="css/chunk-22cf707b.ace04bed.css" > rel="prefetch"><link href="css/chunk-22eb9625.721e5e5f.css" > rel="prefetch"><link href="css/chunk-239782f4.f6f63e64.css" > rel="prefetch"><link href="css/chunk-23b0cf4d.e6515727.css" > rel="prefetch"><link href="css/chunk-257667b4.3d6e092f.css" > rel="prefetch"><link href="css/chunk-263d661c.53d887d5.css" > rel="prefetch"><link href="css/chunk-27a9a8d3.e5333dd6.css" > rel="prefetch"><link href="css/chunk-286ff689.900e3660.css" > rel="prefetch"><link href="css/chunk-29ed1a31.c608d616.css" > rel="prefetch"><link href="css/chunk-2aa90a37.6a906025.css" > rel="prefetch"><link href="css/chunk-2c2146cc.b13e899d.css" > rel="prefetch"><link href="css/chunk-2d1df2c6.6471280e.css" > rel="prefetch"><link href="css/chunk-2d78afca.9ecb9d29.css" > rel="prefetch"><link href="css/chunk-2d845f9b.ac1e3eef.css" > rel="prefetch"><link href="css/chunk-2dc973d6.67ae2c06.css" > rel="prefetch"><link href="css/chunk-3268ae00.7dd2b827.css" > rel="prefetch"><link href="css/chunk-3268f986.05e99747.css" > rel="prefetch"><link href="css/chunk-34f595bb.cf67fd29.css" > rel="prefetch"><link href="css/chunk-35b05255.58a95ff3.css" > rel="prefetch"><link href="css/chunk-3640105d.033fc6fb.css" > rel="prefetch"><link href="css/chunk-37af96d9.4e248966.css" > rel="prefetch"><link href="css/chunk-3bec0e24.888bc9f7.css" > rel="prefetch"><link href="css/chunk-3c961b81.ecefbd5e.css" > rel="prefetch"><link href="css/chunk-3d76122b.7a28e885.css" > rel="prefetch"><link href="css/chunk-3f3c3d30.bf16a31b.css" > rel="prefetch"><link href="css/chunk-3f55ff12.a53c07c5.css" > rel="prefetch"><link href="css/chunk-3f7f4da6.82403bb1.css" > rel="prefetch"><link href="css/chunk-419c03f8.d3b612a9.css" > rel="prefetch"><link href="css/chunk-419d4d25.82d8d7cc.css" > rel="prefetch"><link href="css/chunk-42366074.a06dc5dd.css" > rel="prefetch"><link href="css/chunk-439c65cb.2910fa8d.css" > rel="prefetch"><link href="css/chunk-47303963.784c32e6.css" > rel="prefetch"><link href="css/chunk-47a6d878.07142761.css" > rel="prefetch"><link href="css/chunk-491b948a.8d6d4158.css" > rel="prefetch"><link href="css/chunk-4a54aecb.fd397049.css" > rel="prefetch"><link href="css/chunk-4b3e6ba2.6b10d1fe.css" > rel="prefetch"><link href="css/chunk-4b54afa6.e539896b.css" > rel="prefetch"><link href="css/chunk-4bfc360a.31651cd6.css" > rel="prefetch"><link href="css/chunk-50081799.63c64c0e.css" > rel="prefetch"><link href="css/chunk-506b158a.6b3e405d.css" > rel="prefetch"><link href="css/chunk-50c3e30a.5f47d897.css" > rel="prefetch"><link href="css/chunk-51f5a0b4.b3f2a116.css" > rel="prefetch"><link href="css/chunk-53632f58.699f250e.css" > rel="prefetch"><link href="css/chunk-551231ef.cafe7b3a.css" > rel="prefetch"><link href="css/chunk-59942ac2.fabf5d9c.css" > rel="prefetch"><link href="css/chunk-59f4c670.b06fc7f6.css" > rel="prefetch"><link href="css/chunk-5bce9291.64d9dfe1.css" > rel="prefetch"><link href="css/chunk-603a7d35.c88bdb6c.css" > rel="prefetch"><link href="css/chunk-6261564d.f99b4903.css" > rel="prefetch"><link href="css/chunk-645b05ee.4ea15945.css" > rel="prefetch"><link href="css/chunk-67ec2756.99a3c155.css" > rel="prefetch"><link href="css/chunk-6924354d.673bbd71.css" > rel="prefetch"><link href="css/chunk-6cbc964e.7873822a.css" > rel="prefetch"><link href="css/chunk-6d01a122.233f3dbe.css" > rel="prefetch"><link href="css/chunk-6da8f6b7.bc957563.css" > rel="prefetch"><link href="css/chunk-6de9f697.0e73387d.css" > rel="prefetch"><link href="css/chunk-7120c412.b6353acb.css" > rel="prefetch"><link href="css/chunk-720774d2.99a5316c.css" > rel="prefetch"><link href="css/chunk-72839b5a.4d4bd9fa.css" > rel="prefetch"><link href="css/chunk-741f7ea4.4a8bf0a3.css" > rel="prefetch"><link href="css/chunk-743b13f2.4ceaa49c.css" > rel="prefetch"><link href="css/chunk-7471f350.676a44e7.css" > rel="prefetch"><link href="css/chunk-7479b995.419a5b8d.css" > rel="prefetch"><link href="css/chunk-7610daba.71b97a96.css" > rel="prefetch"><link href="css/chunk-76c2a656.7e9248a9.css" > rel="prefetch"><link href="css/chunk-76e65fa1.d2a51e1a.css" > rel="prefetch"><link href="css/chunk-7b1760be.50e9cca2.css" > rel="prefetch"><link href="css/chunk-7d94f316.6ff4df90.css" > rel="prefetch"><link href="css/chunk-7fc23f1a.ca59a1e1.css" > rel="prefetch"><link href="css/chunk-7fcda875.ee335d28.css" > rel="prefetch"><link href="css/chunk-831be834.5c168160.css" > rel="prefetch"><link href="css/chunk-84f6bf7a.f831f935.css" > rel="prefetch"><link href="css/chunk-88fa6a4c.8f905dd0.css" > rel="prefetch"><link href="css/chunk-8cb15492.535cfa55.css" > rel="prefetch"><link href="css/chunk-a01e8574.c0e89ca9.css" > rel="prefetch"><link href="css/chunk-a1fb0f56.a2e684ac.css" > rel="prefetch"><link href="css/chunk-a3dd2fd8.9da9768c.css" > rel="prefetch"><link href="css/chunk-ab1ed210.deddc900.css" > rel="prefetch"><link href="css/chunk-ade65292.10e54410.css" > rel="prefetch"><link href="css/chunk-ae18a0fe.86cc9809.css" > rel="prefetch"><link href="css/chunk-b37f0a76.f9737284.css" > rel="prefetch"><link href="css/chunk-b3e2e584.10fdb797.css" > rel="prefetch"><link href="css/chunk-b7bed24e.14250d2e.css" > rel="prefetch"><link href="css/chunk-b7f58d80.f2cfb216.css" > rel="prefetch"><link href="css/chunk-bbf263b0.1518655e.css" > rel="prefetch"><link href="css/chunk-c00a442e.573ddec1.css" > rel="prefetch"><link href="css/chunk-c0f727f6.2f3b9e1f.css" > rel="prefetch"><link href="css/chunk-c167c9c4.94d681b1.css" > rel="prefetch"><link href="css/chunk-c25e7ffa.a4fbabd8.css" > rel="prefetch"><link href="css/chunk-c5dfceb4.02d1b75b.css" > rel="prefetch"><link href="css/chunk-c7c10d8a.92283b2d.css" > rel="prefetch"><link href="css/chunk-c863f3e8.13fc6a3b.css" > rel="prefetch"><link href="css/chunk-c935f336.f437155b.css" > rel="prefetch"><link href="css/chunk-ca3ff5c4.8a9effa2.css" > rel="prefetch"><link href="css/chunk-d072502e.69c94f6e.css" > rel="prefetch"><link href="css/chunk-d303efca.3ed86588.css" > rel="prefetch"><link href="css/chunk-d410c3f8.b34f588c.css" > rel="prefetch"><link href="css/chunk-da70dee6.e0f1babb.css" > rel="prefetch"><link href="css/chunk-db8c9966.31c91e02.css" > rel="prefetch"><link href="css/chunk-e12f16ac.cf224783.css" > rel="prefetch"><link href="css/chunk-e19423a2.0e0bc6a8.css" > rel="prefetch"><link href="css/chunk-e1c922a2.7e6dbf8b.css" > rel="prefetch"><link href="css/chunk-e488f784.ecbac4db.css" > rel="prefetch"><link href="css/chunk-e6cf5f44.dbebb1f8.css" > rel="prefetch"><link href="css/chunk-ecd4d268.1ca9ca13.css" > rel="prefetch"><link href="css/chunk-efd57e58.b87db490.css" > rel="prefetch"><link href="css/chunk-f2f4362a.35dbcc3a.css" > rel="prefetch"><link href="css/chunk-f60d4c44.d88cf649.css" > rel="prefetch"><link href="css/chunk-f78798ec.8ef2d58d.css" > rel="prefetch"><link href="css/error.be088387.css" rel="prefetch"><link > href="css/fail.be088387.css" rel="prefetch"><link > href="css/forbidden.be088387.css" rel="prefetch"><link > href="js/auth.48e4bc5f.js" > rel="prefetch"><link href="js/chunk-001d94be.c94c38fa.js" > rel="prefetch"><link href="js/chunk-00f0221f.59629946.js" > rel="prefetch"><link href="js/chunk-0354bb85.df4930d3.js" > rel="prefetch"><link href="js/chunk-0384404c.fd450057.js" > rel="prefetch"><link href="js/chunk-0386ae5b.d28e317b.js" > rel="prefetch"><link href="js/chunk-03e84935.a8ffffec.js" > rel="prefetch"><link href="js/chunk-069c233b.fe9d6a03.js" > rel="prefetch"><link href="js/chunk-06b5e604.5f17fea4.js" > rel="prefetch"><link href="js/chunk-09dd9f57.16d5bcee.js" > rel="prefetch"><link href="js/chunk-0d2e01ce.53a9894e.js" > rel="prefetch"><link href="js/chunk-0fff6ba4.92cfc3cf.js" > rel="prefetch"><link href="js/chunk-11318278.f319cfdb.js" > rel="prefetch"><link href="js/chunk-11676eca.972b2d4a.js" > rel="prefetch"><link href="js/chunk-12032aec.13d1cffe.js" > rel="prefetch"><link href="js/chunk-1463f894.05324458.js" > rel="prefetch"><link href="js/chunk-14ac702e.36d31b55.js" > rel="prefetch"><link href="js/chunk-15a34b80.7b49440a.js" > rel="prefetch"><link href="js/chunk-1624500c.bf65c077.js" > rel="prefetch"><link href="js/chunk-16439946.5cd82608.js" > rel="prefetch"><link href="js/chunk-183d75fe.550dee5e.js" > rel="prefetch"><link href="js/chunk-1ac97c8d.99971770.js" > rel="prefetch"><link href="js/chunk-1afb24b8.195092bd.js" > rel="prefetch"><link href="js/chunk-1b53f20e.fd97a05b.js" > rel="prefetch"><link href="js/chunk-1b690fd0.9f60aab7.js" > rel="prefetch"><link href="js/chunk-1ec9fccf.f8aba334.js" > rel="prefetch"><link href="js/chunk-1f762641.732bce4a.js" > rel="prefetch"><link href="js/chunk-20af231f.d9deaad2.js" > rel="prefetch"><link href="js/chunk-20bbb02c.4a84ba38.js" > rel="prefetch"><link href="js/chunk-21ba8d4d.097d9e52.js" > rel="prefetch"><link href="js/chunk-22cf707b.f276ea05.js" > rel="prefetch"><link href="js/chunk-22eb9625.0dd71b04.js" > rel="prefetch"><link href="js/chunk-239782f4.254c2e9f.js" > rel="prefetch"><link href="js/chunk-23b0cf4d.a45b4169.js" > rel="prefetch"><link href="js/chunk-257667b4.406105a3.js" > rel="prefetch"><link href="js/chunk-263d661c.43f5e05d.js" > rel="prefetch"><link href="js/chunk-27a9a8d3.c0027050.js" > rel="prefetch"><link href="js/chunk-286ff689.74b4955f.js" > rel="prefetch"><link href="js/chunk-29ed1a31.b361c9c5.js" > rel="prefetch"><link href="js/chunk-2aa90a37.d9341bfb.js" > rel="prefetch"><link href="js/chunk-2c2146cc.e65241a1.js" > rel="prefetch"><link href="js/chunk-2d0a3384.376dd095.js" > rel="prefetch"><link href="js/chunk-2d0a4d7c.54e59f0b.js" > rel="prefetch"><link href="js/chunk-2d0aa214.d441ab58.js" > rel="prefetch"><link href="js/chunk-2d0aab36.f9958eaf.js" > rel="prefetch"><link href="js/chunk-2d0ab185.a47f3b24.js" > rel="prefetch"><link href="js/chunk-2d0aba7a.788c4b62.js" > rel="prefetch"><link href="js/chunk-2d0aeafa.d49ce1d4.js" > rel="prefetch"><link href="js/chunk-2d0b1a70.520fefeb.js" > rel="prefetch"><link href="js/chunk-2d0b9786.a649016e.js" > rel="prefetch"><link href="js/chunk-2d0bdb6b.745b66f8.js" > rel="prefetch"><link href="js/chunk-2d0c0d79.96f20cbd.js" > rel="prefetch"><link href="js/chunk-2d0c151a.8ea03655.js" > rel="prefetch"><link href="js/chunk-2d0c1587.7b6262cc.js" > rel="prefetch"><link href="js/chunk-2d0c89f8.3debab74.js" > rel="prefetch"><link href="js/chunk-2d0d3685.32341109.js" > rel="prefetch"><link href="js/chunk-2d0d7286.11e9437c.js" > rel="prefetch"><link href="js/chunk-2d0df2e4.c13b11c2.js" > rel="prefetch"><link href="js/chunk-2d0e24d6.d2c64355.js" > rel="prefetch"><link href="js/chunk-2d0e44a2.35e67ad9.js" > rel="prefetch"><link href="js/chunk-2d1df2c6.a93e0226.js" > rel="prefetch"><link href="js/chunk-2d208249.a9f65a46.js" > rel="prefetch"><link href="js/chunk-2d212bd2.3e44ec81.js" > rel="prefetch"><link href="js/chunk-2d2160af.1033d1ab.js" > rel="prefetch"><link href="js/chunk-2d21766f.ad5a81d1.js" > rel="prefetch"><link href="js/chunk-2d21f43a.aaa05773.js" > rel="prefetch"><link href="js/chunk-2d221de3.8907b521.js" > rel="prefetch"><link href="js/chunk-2d229c43.182b2236.js" > rel="prefetch"><link href="js/chunk-2d22c4de.8cd4a646.js" > rel="prefetch"><link href="js/chunk-2d22cc75.a8b549f0.js" > rel="prefetch"><link href="js/chunk-2d78afca.a7d0e641.js" > rel="prefetch"><link href="js/chunk-2d845f9b.28db6254.js" > rel="prefetch"><link href="js/chunk-2dc973d6.f39b183c.js" > rel="prefetch"><link href="js/chunk-3268ae00.25790c89.js" > rel="prefetch"><link href="js/chunk-3268f986.b1f5ffbd.js" > rel="prefetch"><link href="js/chunk-34f595bb.c83ce8d0.js" > rel="prefetch"><link href="js/chunk-35b05255.4804ff9e.js" > rel="prefetch"><link href="js/chunk-3640105d.d1537fa4.js" > rel="prefetch"><link href="js/chunk-37af96d9.d3c2a2e4.js" > rel="prefetch"><link href="js/chunk-3bec0e24.08ed7395.js" > rel="prefetch"><link href="js/chunk-3c961b81.ca5587e6.js" > rel="prefetch"><link href="js/chunk-3d76122b.1ef0c334.js" > rel="prefetch"><link href="js/chunk-3f3c3d30.bb2797e4.js" > rel="prefetch"><link href="js/chunk-3f55ff12.3e3e2c81.js" > rel="prefetch"><link href="js/chunk-3f7f4da6.12ad83e8.js" > rel="prefetch"><link href="js/chunk-419c03f8.1d31279f.js" > rel="prefetch"><link href="js/chunk-419d4d25.0b3b058d.js" > rel="prefetch"><link href="js/chunk-42366074.50427e19.js" > rel="prefetch"><link href="js/chunk-439c65cb.1d508c8d.js" > rel="prefetch"><link href="js/chunk-47303963.4cd2f21c.js" > rel="prefetch"><link href="js/chunk-47a6d878.e99c93c2.js" > rel="prefetch"><link href="js/chunk-491b948a.6f4516f5.js" > rel="prefetch"><link href="js/chunk-4a54aecb.c750a100.js" > rel="prefetch"><link href="js/chunk-4b3e6ba2.e513726f.js" > rel="prefetch"><link href="js/chunk-4b54afa6.f4ef990d.js" > rel="prefetch"><link href="js/chunk-4bfc360a.e973d5bc.js" > rel="prefetch"><link href="js/chunk-50081799.c1ff0ef2.js" > rel="prefetch"><link href="js/chunk-506b158a.e282bcd4.js" > rel="prefetch"><link href="js/chunk-50c3e30a.e92c0ef4.js" > rel="prefetch"><link href="js/chunk-51f5a0b4.959f21fa.js" > rel="prefetch"><link href="js/chunk-53632f58.5f1e2359.js" > rel="prefetch"><link href="js/chunk-551231ef.2a8e5690.js" > rel="prefetch"><link href="js/chunk-59942ac2.613b3bd9.js" > rel="prefetch"><link href="js/chunk-59f4c670.8b4a15a7.js" > rel="prefetch"><link href="js/chunk-5bce9291.2fd5f311.js" > rel="prefetch"><link href="js/chunk-603a7d35.c9fa1415.js" > rel="prefetch"><link href="js/chunk-6261564d.f8e2d2c2.js" > rel="prefetch"><link href="js/chunk-645b05ee.3837e695.js" > rel="prefetch"><link href="js/chunk-67ec2756.2c3b16f9.js" > rel="prefetch"><link href="js/chunk-6924354d.2d4c3e51.js" > rel="prefetch"><link href="js/chunk-6cbc964e.bfb0e6b1.js" > rel="prefetch"><link href="js/chunk-6d01a122.6e77c2e1.js" > rel="prefetch"><link href="js/chunk-6da8f6b7.aa43097c.js" > rel="prefetch"><link href="js/chunk-6de9f697.3e160a6c.js" > rel="prefetch"><link href="js/chunk-70ced7b4.c5728520.js" > rel="prefetch"><link href="js/chunk-7120c412.94fd7b55.js" > rel="prefetch"><link href="js/chunk-720774d2.baab5315.js" > rel="prefetch"><link href="js/chunk-72839b5a.61bd95c8.js" > rel="prefetch"><link href="js/chunk-741f7ea4.b3466165.js" > rel="prefetch"><link href="js/chunk-743b13f2.d60da1e5.js" > rel="prefetch"><link href="js/chunk-7471f350.1abb87ab.js" > rel="prefetch"><link href="js/chunk-7479b995.9614e260.js" > rel="prefetch"><link href="js/chunk-7610daba.2cd56dbc.js" > rel="prefetch"><link href="js/chunk-76c2a656.8eefbfa5.js" > rel="prefetch"><link href="js/chunk-76e65fa1.14114fc3.js" > rel="prefetch"><link href="js/chunk-7b1760be.47079bd6.js" > rel="prefetch"><link href="js/chunk-7d94f316.e40247c5.js" > rel="prefetch"><link href="js/chunk-7fc23f1a.139507ce.js" > rel="prefetch"><link href="js/chunk-7fcda875.e576ea6b.js" > rel="prefetch"><link href="js/chunk-831be834.aa5e6eb1.js" > rel="prefetch"><link href="js/chunk-84f6bf7a.5f3ac03e.js" > rel="prefetch"><link href="js/chunk-88fa6a4c.9b9e9e31.js" > rel="prefetch"><link href="js/chunk-8cb15492.cc92f6d2.js" > rel="prefetch"><link href="js/chunk-a01e8574.e0bb1260.js" > rel="prefetch"><link href="js/chunk-a1fb0f56.60378aba.js" > rel="prefetch"><link href="js/chunk-a3dd2fd8.f957d124.js" > rel="prefetch"><link href="js/chunk-ab1ed210.38b0d673.js" > rel="prefetch"><link href="js/chunk-ade65292.042d43c9.js" > rel="prefetch"><link href="js/chunk-ae18a0fe.afacf2f0.js" > rel="prefetch"><link href="js/chunk-b1769aae.4b1e418b.js" > rel="prefetch"><link href="js/chunk-b37f0a76.99177485.js" > rel="prefetch"><link href="js/chunk-b3e2e584.2164b317.js" > rel="prefetch"><link href="js/chunk-b7bed24e.cda1d6ff.js" > rel="prefetch"><link href="js/chunk-b7f58d80.52f42e33.js" > rel="prefetch"><link href="js/chunk-bbf263b0.d400ca90.js" > rel="prefetch"><link href="js/chunk-c00a442e.25012fd7.js" > rel="prefetch"><link href="js/chunk-c0f727f6.b9221687.js" > rel="prefetch"><link href="js/chunk-c167c9c4.27431810.js" > rel="prefetch"><link href="js/chunk-c25e7ffa.838f20fc.js" > rel="prefetch"><link href="js/chunk-c5dfceb4.fa46e321.js" > rel="prefetch"><link href="js/chunk-c7c10d8a.c1b17205.js" > rel="prefetch"><link href="js/chunk-c863f3e8.383c72ef.js" > rel="prefetch"><link href="js/chunk-c935f336.22bad5ec.js" > rel="prefetch"><link href="js/chunk-ca3ff5c4.9de58a78.js" > rel="prefetch"><link href="js/chunk-d072502e.fe99ca02.js" > rel="prefetch"><link href="js/chunk-d303efca.249e3155.js" > rel="prefetch"><link href="js/chunk-d410c3f8.9229b7d3.js" > rel="prefetch"><link href="js/chunk-da70dee6.80f12e00.js" > rel="prefetch"><link href="js/chunk-db8c9966.745de178.js" > rel="prefetch"><link href="js/chunk-e12f16ac.998d61c0.js" > rel="prefetch"><link href="js/chunk-e19423a2.922ef92e.js" > rel="prefetch"><link href="js/chunk-e1c922a2.ae93bde7.js" > rel="prefetch"><link href="js/chunk-e488f784.5a62c198.js" > rel="prefetch"><link href="js/chunk-e6cf5f44.078dcfd1.js" > rel="prefetch"><link href="js/chunk-ecd4d268.24cc5509.js" > rel="prefetch"><link href="js/chunk-efd57e58.436fdd45.js" > rel="prefetch"><link href="js/chunk-f2f4362a.4f7841d9.js" > rel="prefetch"><link href="js/chunk-f60d4c44.ca91dc2d.js" > rel="prefetch"><link href="js/chunk-f78798ec.b581f6b2.js" > rel="prefetch"><link href="js/error.b6ee8230.js" rel="prefetch"><link > href="js/fail.a0d49546.js" rel="prefetch"><link > href="js/forbidden.cc9bdc28.js" > rel="prefetch"><link href="css/app.a4fe8928.css" rel="preload" > as="style"><link href="css/vendors.5cced2ec.css" rel="preload" > as="style"><link href="js/app.57ee6e02.js" > rel="preload" as="script"><link href="js/vendors.db40f99d.js" > rel="preload" as="script"><link href="css/vendors.5cced2ec.css" > rel="stylesheet"><link href="css/app.a4fe8928.css" > rel="stylesheet"></head><body> > <link rel="stylesheet/less" type="text/css" href="./color.less" > /> > <script> > window.less = { > async: false, > env: 'production' > }; > </script> > <script type="text/javascript" src="js/less.min.js"></script> > <noscript><strong>We're sorry but CloudStack UI needs JavaScript > enabled. Please enable it to continue.</strong></noscript><div > id="app"><div class="loader"></div></div><script > src="js/vendors.db40f99d.js"> > </script><script > src="js/app.57ee6e02.js"></script></body><script>fetch('./config.json') > .then(response => response.json()) > .then(data => { > document.getElementById("favicon").setAttribute("href", > data.loginFavicon); > document.getElementById("title").innerHTML = data.loginTitle; > }).catch((err) => {});</script></html> > > -------------------------- > > > Kind regards > David Larsen > >