×

注意!页面内容来自https://www.upguard.com/blog/vulnerability,本站不储存任何内容,为了更好的阅读体验进行在线解析,若有广告出现,请及时反馈。若您觉得侵犯了您的利益,请通知我们进行删除,然后访问 原网页

<> /* Base */ body { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-font-smoothing: antialiased; -o-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } ::selection { color: currentColor; background: #E8EEF9; } /* Reset */ .w-richtext:before, .w-richtext:after { display: none !important; } .w-embed::before, .w-embed::after { display: none; } .w-richtext ol, .w-richtext ul { overflow: visible; } /* Layout */ @media screen and (max-width: 767px) { :root { --page--margin: 2rem; } } @media screen and (max-width: 479px) { :root { --page--margin: 1.25rem; } } /* Grid */ .grid-4cols, .grid-3cols, .grid-2cols { grid-column-gap: var(--gap--grid); grid-row-gap: var(--gap--grid); grid-auto-columns: 1fr; width: 100%; display: grid; } .grid-4cols { grid-template-columns: 1fr 1fr 1fr 1fr; } @media screen and (max-width: 991px) { .grid-4cols { grid-template-columns: 1fr 1fr; } } @media screen and (max-width: 767px) { .grid-4cols { grid-template-columns: 1fr; } } .grid-3cols { grid-template-columns: 1fr 1fr 1fr; } @media screen and (max-width: 991px) { .grid-3cols { grid-template-columns: 1fr; } } .grid-2cols { grid-template-columns: 1fr 1fr; } @media screen and (max-width: 991px) { .grid-2cols { grid-template-columns: 1fr; } } @media screen and (max-width: 991px) and (min-width: 768px) { .grid-3cols-t { grid-template-columns: 1fr 1fr 1fr; } .grid-2cols-t { grid-template-columns: 1fr 1fr; } } @media screen and (max-width: 767px) and (min-width: 480px) { .grid-2cols-ml { grid-template-columns: 1fr 1fr; } } @media screen and (max-width: 479px) { .grid-2cols-mp { grid-template-columns: 1fr 1fr; } } /* Stack */ .stack-x, .stack-y { display: flex; flex-direction: row; flex-wrap: wrap; } .stack-y { flex-direction: column; } @media screen and (max-width: 991px) { .stack-x-t, .stack-y-t { display: flex; flex-direction: row; flex-wrap: wrap; } .stack-y-t { flex-direction: column; } } .stack-x.nowrap, .stack-y.nowrap { flex-wrap: nowrap; } .justify-center { justify-content: center; } .justify-between { justify-content: space-between; } .justify-around { justify-content: space-around; } .justify-evenly { justify-content: space-evenly; } .align-baseline { align-items: baseline; } .align-center { align-items: center; } .align-end { align-items: end; } /* Gap */ .gap-section { gap: var(--gap--section); } .gap-grid { gap: var(--gap--grid); } .gap-buttons { gap: var(--gap--buttons); } .gap-64 { gap: var(--gap--64); } .gap-48 { gap: var(--gap--48); } .gap-32 { gap: var(--gap--32); } .gap-24 { gap: var(--gap--24); } .gap-16 { gap: var(--gap--16); } .gap-12 { gap: var(--gap--12); } .gap-8 { gap: var(--gap--8); } .gap-4 { gap: var(--gap--4); } .gap-line-height { gap: var(--gap--line-height); } @media screen and (max-width: 991px) { :root { --gap--section: 3.75rem; --gap--96: 4.5rem; --gap--160: 8.125rem; } } @media screen and (max-width: 767px) { :root { --gap--grid: 1.5rem; --gap--section: 2.5rem; --gap--48: 2.625rem; --gap--64: 3rem; --gap--96: 3.75rem; --gap--160: 6.25rem; } } /* Radius */ .radius-16 { border-radius: var(--radius--16); } .radius-50 { border-radius: var(--radius--50); } @media screen and (max-width: 767px) { :root { --radius--50: 2.5rem; } } /* Width/Height */ .w-auto { width: auto; } .w-full { width: 100%; } .h-full { height: 100%; } .h-auto { height: auto; } .children-h-full > *, .children-h-full > .w-dyn-item > * { height: 100%; } :root { --max-width--container: 80rem; /* Override Webflow's max-width/*-cols variables values since they can't contain calc expressions */ --max-width--11-cols: calc(11 / 12 * var(--max-width--container) - ((12 - 11) / 12) * var(--gap--grid)); --max-width--10-cols: calc(10 / 12 * var(--max-width--container) - ((12 - 10) / 12) * var(--gap--grid)); --max-width--9-cols: calc(9 / 12 * var(--max-width--container) - ((12 - 9) / 12) * var(--gap--grid)); --max-width--8-cols: calc(8 / 12 * var(--max-width--container) - ((12 - 8) / 12) * var(--gap--grid)); --max-width--7-cols: calc(7 / 12 * var(--max-width--container) - ((12 - 7) / 12) * var(--gap--grid)); --max-width--6-cols: calc(6 / 12 * var(--max-width--container) - ((12 - 6) / 12) * var(--gap--grid)); --max-width--5-cols: calc(5 / 12 * var(--max-width--container) - ((12 - 5) / 12) * var(--gap--grid)); --max-width--4-cols: calc(4 / 12 * var(--max-width--container) - ((12 - 4) / 12) * var(--gap--grid)); --max-width--3-cols: calc(3 / 12 * var(--max-width--container) - ((12 - 3) / 12) * var(--gap--grid)); --max-width--2-cols: calc(2 / 12 * var(--max-width--container) - ((12 - 2) / 12) * var(--gap--grid)); --max-width--1-cols: calc(1 / 12 * var(--max-width--container) - ((12 - 1) / 12) * var(--gap--grid)); } .max-w-11cols { max-width: var(--max-width--11-cols); } .max-w-10cols { max-width: var(--max-width--10-cols); } .max-w-9cols { max-width: var(--max-width--9-cols); } .max-w-8cols { max-width: var(--max-width--8-cols); } .max-w-7cols { max-width: var(--max-width--7-cols); } .max-w-6cols { max-width: var(--max-width--6-cols); } .max-w-5cols { max-width: var(--max-width--5-cols); } .max-w-4cols { max-width: var(--max-width--4-cols); } .max-w-3cols { max-width: var(--max-width--3-cols); } .max-w-2cols { max-width: var(--max-width--2-cols); } .max-w-1cols { max-width: var(--max-width--1-cols); } /* Richtext */ body { color: var(--theme--text-color); font-size: 1rem; font-weight: 400; letter-spacing: 0; line-height: 1.75; --gap--line-height: 1.75em; } .text-body { color: var(--theme--text-color); font-size: 1rem; font-weight: 400; letter-spacing: 0; line-height: 1.75; --gap--line-height: 1.75em; margin-top: 0; margin-bottom: 0; } .text-14 { color: var(--theme--text-color); font-size: 0.875rem; font-weight: 400; letter-spacing: 0; line-height: 1.7; --gap--line-height: 1.7em; margin-top: 0; margin-bottom: 0; } .text-20 { color: var(--theme--text-color); font-size: 1.25rem; font-weight: 400; letter-spacing: 0; line-height: 1.6; --gap--line-height: 1.6em; margin-top: 0; margin-bottom: 0; } .text-24 { color: var(--theme--text-color); font-size: 1.5rem; font-weight: 400; letter-spacing: 0; line-height: 1.5; --gap--line-height: 1.5em; margin-top: 0; margin-bottom: 0; } .display-72 { color: var(--theme--heading-color); font-size: 4.5rem; font-weight: 500; letter-spacing: -0.0336em; line-height: 1.2; --gap--line-height: 1.2em; margin-top: 0; margin-bottom: 0; } @media screen and (max-width: 767px) { .display-72 { font-size: 2.5rem; line-height: 1.25; --gap--line-height: 1.25em; } } .display-64 { color: var(--theme--heading-color); font-size: 4rem; font-weight: 500; letter-spacing: -0.0336em; line-height: 1.2; --gap--line-height: 1.2em; margin-top: 0; margin-bottom: 0; } @media screen and (max-width: 767px) { .display-64 { font-size: 2.5rem; line-height: 1.25; --gap--line-height: 1.25em; } } .display-48 { color: var(--theme--heading-color); font-size: 3rem; font-weight: 500; letter-spacing: -0.0336em; line-height: 1.15; --gap--line-height: 1.15em; margin-top: 0; margin-bottom: 0; } @media screen and (max-width: 767px) { .display-48 { font-size: 1.75rem; line-height: 1.25; --gap--line-height: 1.25em; } } .display-32 { color: var(--theme--heading-color); font-size: 2rem; font-weight: 500; letter-spacing: -0.0336em; line-height: 1.375; --gap--line-height: 1.375em; margin-top: 0; margin-bottom: 0; } @media screen and (max-width: 767px) { .display-32 { font-size: 1.75rem; line-height: 1.25; --gap--line-height: 1.25em; } } .display-24 { color: var(--theme--heading-color); font-size: 1.5rem; font-weight: 500; letter-spacing: -0.0336em; line-height: 1.375; --gap--line-height: 1.375em; margin-top: 0; margin-bottom: 0; } .richtext { color: var(--theme--text-color); font-size: 1rem; font-weight: 400; letter-spacing: 0; line-height: 1.75; --gap--line-height: 1.75em; } .richtext > h1 { color: var(--theme--heading-color); font-size: 3rem; font-weight: 500; letter-spacing: -0.0336em; line-height: 1.15; --gap--line-height: 1.15em; font-weight: 400; } @media screen and (max-width: 767px) { .richtext > h1 { font-size: 1.75rem; line-height: 1.25; --gap--line-height: 1.25em; } } .richtext > h2 { color: var(--theme--heading-color); font-size: 2.625rem; font-weight: 400; line-height: 1.375; --gap--line-height: 1.375em; } @media screen and (max-width: 991px) { .richtext > h2 { font-size: 1.75rem; } } @media screen and (max-width: 767px) { .richtext > h2 { font-size: 1.375rem; } } .richtext > h3 { color: var(--theme--heading-color); font-size: 1.5rem; font-weight: 400; line-height: 1.25; --gap--line-height: 1.25em; } @media screen and (max-width: 991px) { .richtext > h3 { font-size: 1.25rem; } } .richtext > h4 { color: var(--theme--heading-color); font-size: 1.25rem; font-weight: 400; line-height: 1.4; --gap--line-height: 1.4em; } @media screen and (max-width: 991px) { .richtext > h4 { font-size: 1.125rem; } } .richtext > h5 { color: var(--theme--heading-color); font-size: 1.125rem; font-weight: 500; line-height: 1.56; --gap--line-height: 1.56em; } .richtext > h6 { color: var(--theme--heading-color); font-size: 1rem; font-weight: 500; line-height: 1.75; --gap--line-height: 1.75em; } .richtext-margins > h1 { margin-top: 0; margin-bottom: 0.75em; } .richtext-margins > h2 { margin-top: 1.52380952em; margin-bottom: 0.85714286em; } .richtext-margins > h3 { margin-top: 1.75rem; margin-bottom: 1.75rem; } .richtext-margins > h4 { margin-top: 1.75rem; margin-bottom: 1.75rem; } .richtext-margins > h5 { margin-top: 1.75rem; margin-bottom: 1.75rem; } .richtext-margins > h6 { margin-top: 1.75rem; margin-bottom: 1.75rem; } .richtext-margins > p { margin-top: 1.75rem; margin-bottom: 1.75rem; } .richtext-margins > ol, .richtext-margins > ul { margin-top: 1.75em; margin-bottom: 1.75em; } .richtext-margins > ol li, .richtext-margins > ul li { margin-top: 0.875em; margin-bottom: 0.875em; } /* Utils */ .pt-0 { padding-top: 0; } .pb-0 { padding-bottom: 0; } .mt-0 { margin-top: 0; } .mb-0 { margin-bottom: 0; } .my-0 { margin-top: 0; margin-bottom: 0; } .pt-section { padding-top: var(--gap--section); } .pb-section { padding-bottom: var(--gap--section); } .pl-section { padding-left: var(--gap--section); } .pr-section { padding-right: var(--gap--section); } .mt-section { margin-top: var(--gap--section); } .mb-section { margin-bottom: var(--gap--section); } .my-section { margin-top: var(--gap--section); margin-bottom: var(--gap--section); } .py-section { padding-top: var(--gap--section); padding-bottom: var(--gap--section); } .pl-64 { padding-left: var(--gap--64); } .pr-64 { padding-right: var(--gap--64); } .mb-64 { margin-bottom: var(--gap--64); } .pt-48 { padding-top: var(--gap--48); } .pb-48 { padding-bottom: var(--gap--48); } .pl-48 { padding-left: var(--gap--48); } .pr-48 { padding-right: var(--gap--48); } .mt-48 { margin-top: var(--gap--48); } .mb-48 { margin-bottom: var(--gap--48); } .pt-32 { padding-top: var(--gap--32); } .pb-32 { padding-bottom: var(--gap--32); } .pl-32 { padding-left: var(--gap--32); } .pr-32 { padding-right: var(--gap--32); } .mt-32 { margin-top: var(--gap--32); } .mb-32 { margin-bottom: var(--gap--32); } .pt-24 { padding-top: var(--gap--24); } .pb-24 { padding-bottom: var(--gap--24); } .pl-24 { padding-left: var(--gap--24); } .pr-24 { padding-right: var(--gap--24); } .mt-24 { margin-top: var(--gap--24); } .mb-24 { margin-bottom: var(--gap--24); } .pt-16 { padding-top: var(--gap--16); } .pb-16 { padding-bottom: var(--gap--16); } .pl-16 { padding-left: var(--gap--16); } .pr-16 { padding-right: var(--gap--16); } .mt-16 { margin-top: var(--gap--16); } .mb-16 { margin-bottom: var(--gap--16); } .pt-12 { padding-top: var(--gap--12); } .pb-12 { padding-bottom: var(--gap--12); } .pl-12 { padding-left: var(--gap--12); } .pr-12 { padding-right: var(--gap--12); } .mt-12 { margin-top: var(--gap--12); } .mb-12 { margin-bottom: var(--gap--12); } .pt-8 { padding-top: var(--gap--8); } .pb-8 { padding-bottom: var(--gap--8); } .pl-8 { padding-left: var(--gap--8); } .pr-8 { padding-right: var(--gap--8); } .mt-8 { margin-top: var(--gap--8); } .mb-8 { margin-bottom: var(--gap--8); } .pt-4 { padding-top: var(--gap--4); } .pb-4 { padding-bottom: var(--gap--4); } .pl-4 { padding-left: var(--gap--4); } .pr-4 { padding-right: var(--gap--4); } .mt-4 { margin-top: var(--gap--4); } .mb-4 { margin-bottom: var(--gap--4); } /* Misc */ .line-clamp-4 { display: -webkit-box; -webkit-box-orient: vertical; line-clamp: 4; -webkit-line-clamp: 4; overflow: hidden; }
<> /* Project */ .w-richtext > blockquote + blockquote { margin-top: -4.25rem; } .zebra-primary-50-501 > *:nth-child(odd) { background-color: var(--primary-50-501); }
<> /* Keyframes */ @keyframes pulse-opacity { from { opacity: 0; } to { opacity: 1; } } /* Used in Apollo Logo Marquee */ @keyframes translate-x--100 { from { transform: translateX(0); } to { transform: translateX(-100%); } }
<> [data-hover-parent]:hover .arrow__tip, [data-hover-parent]:focus-visible .arrow__tip, .arrow:hover .arrow__tip, .arrow:focus-visible .arrow__tip { transform: translateX(4px); } [data-hover-parent]:hover .arrow__tail, [data-hover-parent]:focus-visible .arrow__tail, .arrow:hover .arrow__tail, .arrow:focus-visible .arrow__tail { transform: scaleX(1); }
<> .button[data-="secondary"], .button[data-="tertiary"] { --button--background-color: var(--button--secondary-background-color); --button--border-color: var(--button--secondary-border-color); --button--text-color: var(--button--secondary-text-color); --button--hover-background-color: var(--button--secondary-hover-background-color); --button--hover-border-color: var(--button--secondary-hover-border-color); --button--hover-text-color: var(--button--secondary-hover-text-color); --button--hover-opacity: 1; } .button[data-="tertiary"] { --button--background-color: transparent; --button--border-color: transparent; } .button[data-="invisible"] { --button--background-color: transparent; --button--border-color: transparent; --button--text-color: var(--theme--link-color#fff); --button--hover-background-color: transparent; --button--hover-border-color: transparent; --button--hover-text-color: var(--theme--link-color#fff); --button--hover-opacity: 0.75; } .button[data-="invisible-no-padding"] { --button--background-color: transparent; --button--border-color: transparent; --button--text-color: var(--theme--link-color#fff); --button--hover-background-color: transparent; --button--hover-border-color: transparent; --button--hover-text-color: var(--theme--link-color#fff); --button--hover-opacity: 0.75; padding-left: 0 !important; padding-right: 0 !important; } .button[data-="outline"] { --button--background-color: transparent; --button--border-color: var(--theme--link-color#fff); --button--text-color: var(--theme--link-color#fff); --button--hover-background-color: transparent; --button--hover-border-color: var(--theme--link-color#fff); --button--hover-text-color: var(--theme--link-color#fff); --button--hover-opacity: 0.75; } .button[data-size="small"] { /* height 36pxfont 13px */ font-size: 0.8125rem; line-height: 1.125rem; padding: 8px 14px; } .button[data-size="nav"] { /* height 38pxfont 15px */ font-size: 0.9375rem; line-height: 1.25rem; padding: 8px 14px; } .button:hover, button:focus-visible, [data-hover-parent]:hover .button, [data-hover-parent]:focus-visible .button { --button--background-color: var(--button--hover-background-color); --button--border-color: var(--button--hover-border-color); --button--text-color: var(--button--hover-text-color); opacity: var(--button--hover-opacity1); }
<> :where(.el-s-old) h1 { margin-top: 0; margin-bottom: 0.875em; font-weight: 400; font-size: 3rem; line-height: 1.375; color: var(--grey-900); letter-spacing: -1.25px; } :where(.el-s-old) h2 { margin-top: 4rem; margin-bottom: 2rem; font-weight: 400; font-size: 2.625rem; line-height: 1.375; color: var(--grey-900); letter-spacing: -1px; } :where(.el-s-old) h3 { margin-top: 2rem; margin-bottom: 1rem; font-weight: 400; font-size: 1.5rem; line-height: 1.25; color: var(--grey-900); letter-spacing: -0.375px; } :where(.el-s-old) h4 { margin-top: 1.5rem; margin-bottom: 0.5rem; font-weight: 400; font-size: 1.25rem; line-height: 1.4; color: var(--grey-900); letter-spacing: -0.375px; } :where(.el-s-old) h5 { margin-top: 1.5rem; margin-bottom: 0.75rem; font-weight: 500; font-size: 1.125rem; line-height: 1.4; color: var(--grey-900); } :where(.el-s-old) h6 { margin-top: 0rem; margin-bottom: 1rem; font-weight: 500; font-size: 0.875rem; line-height: 1.5; color: var(--grey-900); } :where(.el-s-old) p { margin-top: 1rem; margin-bottom: 2rem; font-size: 1rem; line-height: 1.75; color: var(--grey-700); } :where(.el-s-old) blockquote { margin-top: 3.25rem; margin-bottom: 5.25rem; padding-top: 2rem; padding-bottom: 2rem; padding-left: 2rem; padding-right: 2rem; font-size: 1rem; font-weight: 500; line-height: 1.75; color: var(--primary-500); background-color: var(--primary-50-501); border-radius: 16px; } :where(.el-s-old) ol { margin-top: 0; margin-bottom: 10px; padding-left: 40px; } :where(.el-s-old) ul { margin-top: 0; margin-bottom: 1rem; padding-left: 2.5rem; } :where(.el-s-old) li { margin-bottom: 1rem; } :where(.el-s-old) a { color: var(--primary-500); text-decoration: none; transition: opacity 200ms ease; cursor: pointer; } :where(.el-s-old) a:hover { opacity: 70%; } :where(.el-s-old) figure { margin-bottom: 10px; } :where(.el-s-old) figcaption { margin-top: 8px; margin-bottom: 3em; text-align: center; } @media screen and (max-width: 991px) { :where(.el-s-old) h1 { font-size: 40px; line-height: 1.375; letter-spacing: -1.25px; } :where(.el-s-old) h2 { font-size: 28px; } :where(.el-s-old) h3 { font-size: 20px; } :where(.el-s-old) h4 { font-size: 18px; } } @media screen and (max-width: 767px) { :where(.el-s-old) h1 { margin-bottom: 0.5em; font-size: 26px; line-height: 1.4; letter-spacing: -1.25px; } :where(.el-s-old) h2 { font-size: 22px; } } @media screen and (max-width: 479px) { :where(.el-s-old) h1 { letter-spacing: -0.5px; } :where(.el-s-old) h2 { font-size: -0.375px; } } /* Images */ /*:where(.img-s-old) img { display: inline-block; max-width: 100%; }*/
<> [data-hover-spotlight-parent]:has([data-hover-spotlight-child]:hover) [data-hover-spotlight-child]:not([data-hover-spotlight-child]:hover) { opacity: 0.25; }
<> [display-contents-children] > * { display: contents; } [child-h-full] > * { height: 100%; } [data-clamp-lines] { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; } [data-clamp-lines="2"] { -webkit-line-clamp: 2; } [data-clamp-lines="4"] { -webkit-line-clamp: 4; }
<> :root { --primary-50-501: var(--color--gray-150); /* #f3f7fc */ --primary-100: #F7F5F3; /* #e8eef9 */ --primary-900: #000; /* #071a3a */ --primary-500: #1E1E1E; /* #1757c2 */ --primary-600: #000; /* #144ca9; */ --primary-700: #000; /* #113f8d; */ --primary-25: #F7F5F3; /* #f9fbfd */ }
<> /* data-max-ems="20 tb:15 ml:none" [attr~=value] Represents elements with an attribute name of attr whose value is a whitespace-separated list of words, one of which is exactly value. */ [data-max-ems~="60"] { max-width: 60em } [data-max-ems~="59"] { max-width: 59em } [data-max-ems~="58"] { max-width: 58em } [data-max-ems~="57"] { max-width: 57em } [data-max-ems~="56"] { max-width: 56em } [data-max-ems~="55"] { max-width: 55em } [data-max-ems~="54"] { max-width: 54em } [data-max-ems~="53"] { max-width: 53em } [data-max-ems~="52"] { max-width: 52em } [data-max-ems~="51"] { max-width: 51em } [data-max-ems~="50"] { max-width: 50em } [data-max-ems~="49"] { max-width: 49em } [data-max-ems~="48"] { max-width: 48em } [data-max-ems~="47"] { max-width: 47em } [data-max-ems~="46"] { max-width: 46em } [data-max-ems~="45"] { max-width: 45em } [data-max-ems~="44"] { max-width: 44em } [data-max-ems~="43"] { max-width: 43em } [data-max-ems~="42"] { max-width: 42em } [data-max-ems~="41"] { max-width: 41em } [data-max-ems~="40"] { max-width: 40em } [data-max-ems~="39"] { max-width: 39em } [data-max-ems~="38"] { max-width: 38em } [data-max-ems~="37"] { max-width: 37em } [data-max-ems~="36"] { max-width: 36em } [data-max-ems~="35"] { max-width: 35em } [data-max-ems~="34"] { max-width: 34em } [data-max-ems~="33"] { max-width: 33em } [data-max-ems~="32"] { max-width: 32em } [data-max-ems~="31"] { max-width: 31em } [data-max-ems~="30"] { max-width: 30em } [data-max-ems~="29"] { max-width: 29em } [data-max-ems~="28"] { max-width: 28em } [data-max-ems~="27"] { max-width: 27em } [data-max-ems~="26"] { max-width: 26em } [data-max-ems~="25"] { max-width: 25em } [data-max-ems~="24"] { max-width: 24em } [data-max-ems~="23"] { max-width: 23em } [data-max-ems~="22"] { max-width: 22em } [data-max-ems~="21"] { max-width: 21em } [data-max-ems~="20"] { max-width: 20em } [data-max-ems~="19"] { max-width: 19em } [data-max-ems~="18"] { max-width: 18em } [data-max-ems~="17"] { max-width: 17em } [data-max-ems~="16"] { max-width: 16em } [data-max-ems~="15"] { max-width: 15em } [data-max-ems~="14"] { max-width: 14em } [data-max-ems~="13"] { max-width: 13em } [data-max-ems~="12"] { max-width: 12em } [data-max-ems~="11"] { max-width: 11em } [data-max-ems~="10"] { max-width: 10em } [data-max-ems~="9"] { max-width: 9em } [data-max-ems~="8"] { max-width: 8em } [data-max-ems~="7"] { max-width: 7em } [data-max-ems~="6"] { max-width: 6em } [data-max-ems~="5"] { max-width: 5em } @media screen and (max-width: 991px) { [data-max-ems~="tb:40"] { max-width: 40em } [data-max-ems~="tb:39"] { max-width: 39em } [data-max-ems~="tb:38"] { max-width: 38em } [data-max-ems~="tb:37"] { max-width: 37em } [data-max-ems~="tb:36"] { max-width: 36em } [data-max-ems~="tb:35"] { max-width: 35em } [data-max-ems~="tb:34"] { max-width: 34em } [data-max-ems~="tb:33"] { max-width: 33em } [data-max-ems~="tb:32"] { max-width: 32em } [data-max-ems~="tb:31"] { max-width: 31em } [data-max-ems~="tb:30"] { max-width: 30em } [data-max-ems~="tb:29"] { max-width: 29em } [data-max-ems~="tb:28"] { max-width: 28em } [data-max-ems~="tb:27"] { max-width: 27em } [data-max-ems~="tb:26"] { max-width: 26em } [data-max-ems~="tb:25"] { max-width: 25em } [data-max-ems~="tb:24"] { max-width: 24em } [data-max-ems~="tb:23"] { max-width: 23em } [data-max-ems~="tb:22"] { max-width: 22em } [data-max-ems~="tb:21"] { max-width: 21em } [data-max-ems~="tb:20"] { max-width: 20em } [data-max-ems~="tb:19"] { max-width: 19em } [data-max-ems~="tb:18"] { max-width: 18em } [data-max-ems~="tb:17"] { max-width: 17em } [data-max-ems~="tb:16"] { max-width: 16em } [data-max-ems~="tb:15"] { max-width: 15em } [data-max-ems~="tb:14"] { max-width: 14em } [data-max-ems~="tb:13"] { max-width: 13em } [data-max-ems~="tb:12"] { max-width: 12em } [data-max-ems~="tb:11"] { max-width: 11em } [data-max-ems~="tb:10"] { max-width: 10em } [data-max-ems~="tb:none"] { max-width: none } } @media screen and (max-width: 767px) { [data-max-ems~="ml:none"] { max-width: none } }
<> @media screen and (min-width: 1512px) { html { font-size: clamp(1rem-0.001rem + 1.06vw1.111rem); --gap--grid: var(--_breakpoints---grid-gap); } } .container { padding-left: 0 !important; padding-right: 0 !important; } .c.c-2.c-2-2.c-2-2-2, .container { max-width: 88.5rem; width: calc(100% - 4 * var(--_breakpoints---grid-gap)); } @media screen and (max-width: 991px) { .c.c-2.c-2-2.c-2-2-2, .container { width: calc(100% - 2 * var(--_breakpoints---grid-gap)); } }
<> .apollo-btn__inner, .apollo-btn__inner.is-clone { transition-duration: 250ms; } .apollo-btn__inner-dup { opacity: 0; transform: translateY(100%) skew(0deg15deg); } [data-hover-parent]:hover .apollo-btn, [data-hover-parent]:focus-visible .apollo-btn, .apollo-btn:hover .apollo-btn__inner, .apollo-btn:active .apollo-btn__inner, .apollo-btn:focus .apollo-btn__inner { opacity: 0; transform: translateY(-100%) skew(0deg15deg); } [data-hover-parent]:hover .apollo-btn, [data-hover-parent]:focus-visible .apollo-btn, .apollo-btn:hover .apollo-btn__inner.is-clone, .apollo-btn:active .apollo-btn__inner.is-clone, .apollo-btn:focus .apollo-btn__inner.is-clone{ opacity: 1; transform: translateY(-100%) skew(0deg0deg); }
<> .a-richtext-excerpt > p { margin-top: 0.75rem; margin-bottom: 0.75rem; } .a-richtext-excerpt > h1 .a-richtext-excerpt > h2 .a-richtext-excerpt > h3 .a-richtext-excerpt > h4 .a-richtext-excerpt > h5 .a-richtext-excerpt > h6 { font-size: var(--_breakpoints---h16-font-size); line-height: var(--_breakpoints---h16-line-height); color: var(--_themes---palette--text-headings); margin-top: 1.5rem; margin-bottom: 0.5rem; } .a-richtext-excerpt > p a, .a-richtext-excerpt > ul a, .a-richtext-excerpt > ul a { color: var(--_themes---palette--text-headings); text-decoration: underline; } .a-richtext-excerpt > h1 + p .a-richtext-excerpt > h2 + p .a-richtext-excerpt > h3 + p .a-richtext-excerpt > h4 + p .a-richtext-excerpt > h5 + p .a-richtext-excerpt > h6 + p { margin-top: 0; } .a-richtext-excerpt > ul { list-: none; margin-top: 0.75rem; margin-bottom: 0.75rem; } .a-richtext-excerpt > ol { margin-top: 0.75rem; margin-bottom: 0.75rem; padding-left: 1.6em; } .a-richtext-excerpt > ul li { position: relative; padding-left: 1.6em; } .a-richtext-excerpt > ul li::before { content: "—"; position: absolute; margin-top: 0; left: 0; } .a-richtext-excerpt > *:first-child { margin-top: 0 } .a-richtext-excerpt > *:last-child { margin-bottom: 0 }
<> .a-richtext { color: var(--_themes---palette--text-richtext); font-size: var(--_breakpoints---body-16-font-size); line-height: var(--_breakpoints---body-16-line-height); } .a-richtext > h1, .a-richtext > h2, .a-richtext > h3 .a-richtext > h4 .a-richtext > h5 .a-richtext > h6 { color: var(--_themes---palette--text-headings); } .a-richtext > h1, .a-richtext > h2, .a-richtext > h3 .a-richtext > h4 .a-richtext > h5 .a-richtext > h6, .a-richtext > p, .a-richtext > ul, .a-richtext > ol, .a-richtext > blockquote { margin-top: 1.5rem; margin-bottom: 1.5rem; } .a-richtext > figure { margin-top: 2rem; margin-bottom: 2rem; } .a-richtext > h1, .a-richtext > h2 { margin-top: 4.5rem; font-size: var(--_breakpoints---h40-font-size); line-height: var(--_breakpoints---h40-line-height); } .a-richtext > h3 { margin-top: 3rem; font-size: var(--_breakpoints---h24-font-size); line-height: var(--_breakpoints---h24-line-height); } .a-richtext > h4 .a-richtext > h5 .a-richtext > h6 { margin-top: 3rem; font-size: var(--_breakpoints---h16-font-size); line-height: var(--_breakpoints---h16-line-height); letter-spacing: 0.05em; text-transform: uppercase; } .a-richtext > h1 + h2, .a-richtext > h2 + h3, .a-richtext > h3 + h4, .a-richtext > h4 + h5, .a-richtext > h5 + h6 { margin-top: 0; } .a-richtext > blockquote a, .a-richtext > p a, .a-richtext > ul a, .a-richtext > ol a, .a-richtext > figure figcaption a { color: var(--_themes---palette--text-headings); text-decoration: underline; transition: opacity 0.2s; } .a-richtext > blockquote a:hover, .a-richtext > p a:hover, .a-richtext > ul a:hover, .a-richtext > ol a:hover, .a-richtext > figure figcaption a:hover { opacity: 0.75; } .a-richtext > ul { padding-left: 0; list-: none; margin-top: 0.75rem; margin-bottom: 0.75rem; } .a-richtext > ul ul { padding-left: 0; list-: none; } .a-richtext > ol { margin-top: 0.75rem; margin-bottom: 0.75rem; padding-left: 2em; } .a-richtext > ul li { position: relative; padding-left: 2em; } .a-richtext > ul li + li, .a-richtext > ol li + li { margin-top: 0.5rem; } .a-richtext > ul li::before { content: "—"; position: absolute; margin-top: 0; left: 0; } .a-richtext > figure img { width: 100%; height: auto; } .a-richtext > figure figcaption { color: var(--_themes---palette--text-body); font-size: var(--_breakpoints---body-14-font-size); line-height: var(--_breakpoints---body-14-line-height); margin-top: 1rem; } .a-richtext > blockquote { border-top: 1px solid var(--_themes---palette--divider); border-bottom: 1px solid var(--_themes---palette--divider); margin-top: 3rem; margin-bottom: 3rem; padding: 3rem; } .a-richtext > blockquote + blockquote { margin-top: -3rem; border-top: none; } @media screen and (max-width: 991px) { .a-richtext > blockquote { padding-left: 1.5rem; padding-right: 1.5rem; } } .a-richtext > *:first-child { margin-top: 0 } .a-richtext > *:last-child { margin-bottom: 0 }
<> .a-icon svg { position: absolute; width: 1.5rem; height: 1.5rem; top: 50%; left: 50%; transform: translateX(-50%) translateY(-50%); }
<> .richtext-table-wrapper { overflow-x: auto; -webkit-overflow-scrolling: touch; width: 100%; margin: 2rem auto; } .richtext-table-wrapper table { min-width: 100%; border-collapse: collapse; } .richtext-table-wrapper th, .richtext-table-wrapper td { border: 1px solid #CAD9F1; padding: 1rem; text-align: left; vertical-align: top; } .richtext-table-wrapper th { background-color: #1757C2; color: white; } .richtext-table-wrapper tr:nth-child(even) td { background-color: #F3F7FC; }
<> .anav-wrap[data-background="soft"] { --_themes---palette--background: var(--_themes---palette--layer-soft); }
Publish date
December 12025
{x} minute read
Written by
Reviewed by
Table of contents

A vulnerability is a weakness that can be exploited by cybercriminals to gain unauthorized access to a computer system. After exploiting a vulnerabilitya cyberattack can run malicious codeinstall malwareand even steal sensitive data.

Vulnerabilities can be exploited by a variety of methodsincluding SQL injectionbuffer overflows, cross-site scripting (XSS)and open-source exploit kits that look for known vulnerabilities and security weaknesses in web applications.

Many vulnerabilities impact popular softwareplacing the many customers using the software at a heightened risk of a data breachor supply chain attack. Such zero-day exploits are registered by MITRE as a Common Vulnerability Exposure (CVE).

upguard demo request cta

Vulnerability Examples

There are several different types of vulnerabilitiesdetermined by which infrastructure they’re found on. Vulnerabilities can be classified into six broad categories:

1. Hardware

Any susceptibility to humiditydustsoilingnatural disasterpoor encryptionor firmware vulnerability.

2. Software

Insufficient testinglack of audit traildesign flawsmemory safety violations (buffer overflowsover-readsdangling pointers)input validation errors (code injectioncross-site scripting (XSS)directory traversalemail injectionformat string attacksHTTP header injectionHTTP response splittingSQL injection)privilege-confusion bugs (clickjackingcross-site request forgeryFTP bounce attack)race conditions (symlink racestime-of-check-to-time-of-use bugs)side channel attackstiming attacks and user interface failures (blaming the victimrace conditionswarning fatigue).

Learn about the MOVEit Transfer vulnerability >

3. Network

Unprotected communication lines, man-in-the-middle attacksinsecure network architecturelack of authenticationdefault authenticationor other poor network security.

4. Personnel

Poor recruiting policylack of security awareness and trainingpoor adherence to security trainingpoor password managementor downloading malware via email attachments.

5. Physical site

Area subject to natural disasterunreliable power sourceor no keycard access.

6. Organizational

I‍mproper internal controls, lack of auditcontinuity plansecurityor incident response plan.

Learn about the top misconfigurations causing data breaches >

When Should Known Vulnerabilities Be Publicly Disclosed?

Whether to publicly disclose known vulnerabilities remains a contentious issue. There are two options:

1. Immediate Full Disclosure

Some cybersecurity experts argue for immediate disclosureincluding specific information about how to exploit the vulnerability. Supporters of immediate disclosure believe it leads to secure software and faster patching improving software securityapplication securitycomputer securityoperating system securityand information security.

2. Limited to No Disclosure

Others are against vulnerability disclosure because they believe the vulnerability will be exploited by hackers. Supporters of limited disclosure believe limiting information to select groups reduces the risk of exploitation.

Like most argumentsthere are valid arguments from both sides.

Regardless of which side you fall onknow that it's now common for friendly attackers and cyber criminals to regularly search for vulnerabilities and test known exploits.

Some companies have in-house security teams whose job it is to test IT security and other security measures of the organization as part of their overall information risk management and cybersecurity risk assessment process.

Best-in-class companies offer bug bounties to encourage anyone to find and report vulnerabilities to them rather than exploiting them. Bug bounty programs are great and can help minimize the risk of your organization joining our list of the biggest data breaches.

Typically the payment amount of a bug bounty program will be commensurate with the size of the organizationthe difficulty of exploiting the vulnerabilityand the impact of the vulnerability. For examplefinding a data leak of personally identifiable information (PII) of a Fortune 500 company with a bug bounty program would be of higher value than a data breach of your local corner store.

What is the Difference Between Vulnerability and Risk?

Cyber security risks are commonly classified as vulnerabilities. Howevervulnerability and risk are not the same thingwhich can lead to confusion.

Think of risk as the probability and impact of a vulnerability being exploited.

If the impact and probability of a vulnerability being exploited is lowthen there is low risk. Inverselyif the impact and probability of a vulnerability being exploited is highthen there is a high risk.

Generallythe impact of a cyber attack can be tied to the CIA triad or the confidentialityintegrityor availability of the resource. Following this train of reasoningthere are cases where common vulnerabilities pose no risk. For examplewhen the information system with the vulnerability has no value to your organization.

When Does a Vulnerability Become an Exploitable?

A vulnerability with at least one knownworking attack vector is classified as an exploitable vulnerability. The window of vulnerability is the time from when the vulnerability was introduced to when it is patched.

If you have strong security practicesthen many vulnerabilities are not exploitable for your organization.

For exampleif you have properly configured S3 securitythen the probability of leaking data is lowered. Check your S3 permissionsor someone else will.

Likewiseyou can reduce third-party risk and fourth-party risk with a Third-Party Risk Management framework and Vendor Risk Management strategies.

What is a Zero-Day Exploit?

A zero-day exploit (or zero-day) exploits a zero-day vulnerability. A zero-day (or 0-day) vulnerability is a vulnerability that is unknown toor unaddressed bythose who want to patch the vulnerability.

Until the vulnerability is patchedattackers can exploit it to adversely affect a computer programdata warehousecomputer or network.

"Day Zero" is the day when the interested party learns of the vulnerabilityleading to a patch or workaround to avoid exploitation.

The key thing to understand is the fewer days since Day Zerothe higher likelihood that no patch or mitigation has been developed and the higher the risk of a successful attack.

What Causes Vulnerabilities?

There are many causes of vulnerabilitiesincluding:

  • Complexity - Complex systems increase the probability of a flawmisconfigurationor unintended access.
  • Familiarity - Common codesoftwareoperating systemsand hardware increase the probability that an attacker can find or has information about known vulnerabilities.
  • Connectivity - The more connected a device isthe higher the chance of a vulnerability.
  • Poor Password Management - Weak passwords can be broken with brute forceand reusing passwords can result in one data breach becoming many.
  • Operating System Flaws - Like any softwareoperating systems can have flaws. Operating systems that are insecure by default allow any user to gain access and potentially inject viruses and malware.
  • Internet Usage - The Internet is full of spyware and adware that can be installed automatically on computers.
  • Software Bugs - Programmers can accidentally or deliberately leave an exploitable bug in software. Sometimes end users fail to update their softwareleaving them unpatched and vulnerable to exploitation.
  • Unchecked User Input - If your website or software assumes all input is safeit may execute unintended SQL commands.
  • People - The biggest vulnerability in any organization is the human at the end of the system. Social engineering is the biggest threat to the majority of organizations. This category of cyber threats can be addressed with an in-house cyber threat awareness program.

What is Vulnerability Management?

Vulnerability management is a cyclical practice of identifyingclassifyingremediatingand mitigating security vulnerabilities. The essential elements of vulnerability management include vulnerability detection, vulnerability assessmentand remediation.

Methods of vulnerability detection include:

Once a vulnerability is foundit goes through the vulnerability assessment process:

1. Identify Vulnerabilities

Analyzing network scanspen test resultsfirewall logsand vulnerability scan results to find anomalies that suggest a cyber attack could take advantage of a vulnerability.

2. Verify Vulnerabilities

Decide whether the identified vulnerability could be exploited and classify the severity of the exploit to understand the level of risk.

3. Mitigate Vulnerabilities

Decide on countermeasures and how to measure their effectiveness if a patch is unavailable.

4. Remediate Vulnerabilities

Remediating vulnerabilities requires updating affected software or hardware where possible. Due to the fact that cyber attacks are constantly evolvingvulnerability management must be a continuous and repetitive practice to ensure your organization remains protected.

What is Vulnerability Scanning?

A vulnerability scanner is software designed to assess computersnetworks or applications for known vulnerabilities. They can identify and detect vulnerabilities rising from misconfiguration and flawed programming within a network and perform authenticated and unauthenticated scans:

  • Authenticated scans: Allows the vulnerability scanner to directly access networked assets using remote administrative protocols like secure shell (SSH) or remote desktop protocol (RDP) and authenticate using provided system credentials. This gives access to low-level data such as specific services and configuration detailsproviding detailed and accurate information about operating systemsinstalled softwareconfiguration issuesand missing security patches.
  • Unauthenticated scans: Result in false positives and unreliable information about operating systems and installed software. This method is generally used by cyber attackers and security analysts to try and determine the security posture of externally facing assets and to find possible data leaks.

What is Penetration Testing?

Penetration testingalso known as pen testing or ethical hackingis the practice of testing an information technology asset to find security vulnerabilities an attacker could exploit. Penetration testing can be automated with software or performed manually.

Either waythe process is to gather information about the targetidentify possible vulnerabilities and attempt to exploit themand report on the findings.

Penetration testing may also be used to test an organization's security policyadherence to compliance requirementsemployee security awarenessand an organization's ability to identify and respond to security incidents.

Learn more about penetration testing

What is Google Hacking?

Google hacking is the use of a search enginesuch as Google or Microsoft's Bing,  to locate security vulnerabilities. Google hacking is achieved through the use of advanced search operators in queries that locate hard-to-find information or information that is being accidentally exposed through misconfiguration of cloud services.

Security researchers and attackers use these targeted queries to locate sensitive information that is not intended to be exposed to the public.

These vulnerabilities tend to fall into two types:

  1. Software vulnerabilities
  2. Misconfigurations

That saidthe vast majority of attackers will tend to search for common user misconfigurations that they already know how to exploit and simply scan for systems that have known security holes.

To prevent Google hackingyou must ensure that all cloud services are properly configured. Once something is exposed to Googleit's public whether you like it or not.

YesGoogle periodically purges its cachebut until thenyour sensitive files are being exposed to the public.

What are Vulnerability Databases?

A vulnerability database is a platform that collectsmaintainsand shares information about discovered vulnerabilities. MITRE runs one of the largestcalled CVE or Common Vulnerabilities and Exposuresand assigns a Common Vulnerability Scoring System (CVSS) score to reflect the potential risk a vulnerability could introduce to your organization.

This central listing of CVEs serves as the foundation for many vulnerability scanners.

The benefit of public vulnerability databases is that it allows organizations to developprioritize and execute patches and other mitigations to rectify critical vulnerabilities.

That saidthey can also cause additional vulnerabilities to be created from the hastily released patches that fix the first vulnerability but create another.

See the argument for full disclosure vs. limited disclosure above.

Common vulnerabilities listed in vulnerability databases include:

  • Initial deployment failure: Functionality for databases may appear finebut without rigorous testingflaws can allow attackers to infiltrate. Poor security controlsweak passwordsor default security settings can lead to sensitive material becoming publicly accessible.
  • SQL injection: Database attacks are commonly recorded in vulnerability databases.
  • Misconfiguration: Companies often fail to configure their cloud services correctlyleaving them vulnerable and often publicly accessible.
  • Inadequate auditing: Without auditingit's hard to know whether data has been amended or accessed. Vulnerability databases have promulgated the significance of audit tracking as a deterrent of cyber attacks.
<> .richtext-table-wrapper { overflow-x: auto; -webkit-overflow-scrolling: touch; width: 100%; margin: 2rem auto; font-size: 0.875rem; line-height: 1.3; } .richtext-table-wrapper table { min-width: 100%; border-collapse: collapse; } .richtext-table-wrapper th, .richtext-table-wrapper td { border: 1px solid var(--_themes---palette--divider); padding: 0.75rem; text-align: left; vertical-align: top; } .richtext-table-wrapper th { background-color: var(--color--gray-700); border-color: var(--color--gray-900); color: white; } .richtext-table-wrapper tr:nth-child(even) td { background-color: var(--color--gray-100); }
<> .lb { --dur: 400ms; --ease: ease-out; } .lb__screen, .lb__close { transition: opacity var(--dur) var(--ease); opacity: 1; } .lb__iframe { transform: scale(0.95); transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease); opacity: 1; transform: scale(1); } .lb__iframe.is-dark { background-color: #000; } .lb.is-hidden .lb__screen { opacity: 0; } .lb.is-hidden .lb__close { opacity: 0; } .lb.is-hidden .lb__iframe { opacity: 0; } <> .w-webflow-badge { display: none !important; }