- Top reward
- $7,500
- Top severity paid
- Not published
- Assets in scope
- 13
- Public CVEs
- 34
- Last change
- No changes yet
At a glance
What to know before you start testing.
- Pays up to $7,500
- top reward.
- Report on Sorona
- Submit through the program page.
- Partial safe harbor
- Some legal protection; read the terms.
- Publish after a fix
- Coordinate the timing with the company.
Rewards
What Sorona lists as the payout for each severity.
Sorona does not publish a reward table for this program.
- Safe harbor
-
Partial
Sorona will not pursue legal action against you for good-faith research submitted to us in line with this policy. We cannot speak for the upstream project, its vendor, or any third party, and we do not grant authorization on their behalf.
Summarised with AI from the program policy on Sorona, read 12 Nov 2026, and checked word for word against it. Read the original
Scope
13 assets you may test, 8 excluded.
Web 1
- https://angular.dev
Products and areas 12
- @angular/common/http: interceptors, JSONP, and the XSRF token handling that guards outbound authenticated requests
- angular/dev-infra, the shared build, release and CI tooling the other three repositories run through, along with npm publishing and release signing in the supply-chain category
- Angular is a Google-owned GitHub organisation, which the program's own scope sentence covers, and the tier file names four of its repositories at OT0: angular/angular, angular/angular-cli, angular/components and angular/dev-infra. A product vulnerability anywhere in those four is priced at $500 to $7,500
- Angular Material and the CDK in angular/components: overlays, dialogs, menus, tables and every component that renders content the application did not author
- @angular/router: route matching, guards, resolvers, parameter and fragment handling, and lazy-loaded route boundaries
- DomSanitizer, the bypassSecurityTrust* family, and the HTML, URL, style and resource-URL sanitisers, which the program names as a reward category of its own: "Failures in the sanitizer functions (e.g. HTML sanitizers)"
- Forms in both the reactive and template-driven flavours, and the validators applications rely on to constrain user input
- Server-side rendering and hydration in @angular/platform-server, including the SSR state transfer that carries server-side data into the client bundle
- Template syntax and expression evaluation, including property, attribute, class and event bindings, and the control-flow blocks the compiler expands
- The core framework: change detection, the dependency injection container, and the template compiler together with the rendering code it emits
- The ng CLI, @angular-devkit/build-angular, schematics, and the dev server and build pipeline in angular-cli
- zone.js, the async scheduling layer the framework's change detection is built on
Out of scope (8)
- AngularJS 1.x, which is end-of-life and does not appear in the tier file at any band
- Awards to researchers on sanctions lists, in territories subject to sanctions, or located in Russia or Belarus, which Google states it will not issue
- Bugs in applications built with Angular rather than defects in the framework itself
- Developer-machine-only issues in the CLI dev server where you cannot describe a realistic attack scenario
- Insecure application configuration chosen by a downstream integrator
- Reports filed by anyone other than the researcher: Google requires the submission under your own identity through bughunters.google.com, and treats routing around the designated channel as grounds to reject
- Repositories the tier file does not name, and releases that are not current: the program covers the latest versions of the listed repositories, and any other repository in the same organisation counts only where the file names it. What the file omits sits at OT2 or OT3, where product vulnerabilities earn no monetary reward
- Third-party Angular component libraries, which are not Google-maintained and are not covered by the tier file
Rules
What the policy asks of you, and the bug types it won't reward, quoted from Sorona's policy. "We" in these lines means Sorona, not this site.
While testing
-
Submit through sorona.xyz first. We validate, coordinate with the program's security team, and add the payout uplift on top of whatever it awards.
-
Take the flaw to Google before anyone else: the VRP treats private disclosure to a third party for purposes other than fixing the bug as grounds to refuse the reward
-
Google requires the submission under your own identity through bughunters.google.com, and treats routing around the designated channel as grounds to reject
-
hold any writeup until the fix has shipped
Not accepted
-
AngularJS 1.x, which is end-of-life and does not appear in the tier file at any band
-
Bugs in applications built with Angular rather than defects in the framework itself
-
Developer-machine-only issues in the CLI dev server where you cannot describe a realistic attack scenario
-
Third-party Angular component libraries, which are not Google-maintained and are not covered by the tier file
-
Insecure application configuration chosen by a downstream integrator
-
Repositories the tier file does not name, and releases that are not current
Summarised with AI from the program policy on Sorona, read 12 Nov 2026, and checked word for word against it. Read the original
Changes
Tracked since 11 Nov 2026. Last checked 1 hour ago.
No changes yet. When the rewards or scope move, you will see it here and in the RSS feed.
Public CVEs
Published vulnerabilities in this vendor's products, from the NVD.
| CVE | Summary | Severity | Published |
|---|---|---|---|
| CVE-2026-88057 | Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 20.3.28, 21.2.20, and 22.1.0, Angular's compiler and runtime in @angular/core and @angular/compiler could omit or select an incorrect sanitizer for security-sensitive directive host bindings because SecurityContext was derived from the declaring directive or | Medium 5.3 | 10 Sep 2026 |
| CVE-2026-88058 | Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 20.3.30, 21.2.22, and 22.1.4, Angular server-side rendering (SSR) in @angular/platform-server serializes ProcessingInstruction DOM nodes inside fallback raw-content elements without escaping matching ancestor closing tags. ProcessingInstruction data escaped g | High 8.6 | 10 Sep 2026 |
| CVE-2026-88059 | Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 20.3.28, 21.2.20, and 22.1.1, Angular's @angular/common HttpTransferCache can cache an authenticated response when Server-Side Rendering (SSR) and hydration use a hierarchical HttpClient configured with withRequestsMadeViaParent. The child TransferCache evalu | Medium 4.0 | 10 Sep 2026 |
| CVE-2026-88060 | Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 20.3.30, 21.2.22, and 22.1.4, Angular server-side rendering (SSR) in @angular/platform-server serializes untrusted input inside template content nested in fallback raw-content elements such as noscript, iframe, noembed, and noframes. The Domino serializer's f | High 8.6 | 10 Sep 2026 |
| CVE-2026-88056 | Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 20.3.30, 21.2.22, and 22.1.4, Angular Server-Side Rendering in @angular/platform-server processes user-controlled resource or request URLs through HttpClient after application code validates them with WHATWG URL parsing. The resolveUrl and parseUrl utilities | High 8.6 | 10 Sep 2026 |
| CVE-2026-69149 | Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 20.3.27, 21.2.19, and 22.0.7, a Cross-Site Scripting (XSS) vulnerability exists in @angular/platform-server's DOM emulation dependency (domino) when serializing the content of fallback raw-content elements (<iframe>, <noembed>, <noframes>, and <noscript>). Th | High 8.6 | 3 Aug 2026 |
| CVE-2026-69151 | Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 20.3.27, 21.2.19, and 22.0.1, the Angular compiler i18n pipeline permits i18n-onerror and other i18n-on event-handler attributes, allowing a lower-trust translation file to replace a static handler with executable JavaScript. This issue is fixed in versions 2 | High 7.6 | 3 Aug 2026 |
| CVE-2026-68945 | Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 20.3.27, 21.2.19, and 22.0.2, HttpTransferCache comma-joins repeated request parameters, allowing semantically distinct HttpClient requests to use the same transfer-cache key and reuse a wrong backend response. This issue is fixed in versions 20.3.27, 21.2.19 | High 8.8 | 3 Aug 2026 |
| CVE-2026-50171 | Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 22.0.0-rc.2, 21.2.15, 20.3.22, and 19.2.23, a Denial of Service (DoS) vulnerability exists in the @angular/common package of Angular. The formatNumber function, which is also utilized by DecimalPipe, PercentPipe, and CurrencyPipe, does not properly validate t | High 8.2 | 22 Jun 2026 |
| CVE-2026-50184 | Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 22.0.0-rc.2, 21.2.15, 20.3.22, and 19.2.23, an issue in the @angular/service-worker package compromises the integrity of request-policy enforcement during request reconstruction. When the Angular Service Worker intercepts network requests for matched assets, | Medium 5.7 | 22 Jun 2026 |
| CVE-2026-50555 | Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 22.0.0-rc.2, 21.2.16, 20.3.24, and 19.2.25, a Cross-Site Scripting (XSS) vulnerability exists in @angular/platform-server's DOM emulation dependency (domino) when serializing the content of raw-text elements (such as <script>, <style>, and <iframe>). domino s | High 8.6 | 22 Jun 2026 |
| CVE-2026-50556 | Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 22.0.0-rc.2, 21.2.16, 20.3.24, and 19.2.25, a Cross-Site Scripting (XSS) vulnerability exists in @angular/platform-server's DOM emulation dependency (domino) when serializing the content of <noscript> elements. When rendering dynamic text content inside a <no | High 8.6 | 22 Jun 2026 |
| CVE-2026-50168 | Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 22.0.0-rc.2, 21.2.15, 20.3.22, and 19.2.23, an issue in the @angular/platform-server package allows remote attackers to bypass host allowlist constraints and direct server-side outgoing requests to arbitrary external endpoints. This occurs due to a parser dif | High 8.8 | 22 Jun 2026 |
| CVE-2026-50169 | Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 22.0.0-rc.2, 21.2.15 20.3.22, and 19.2.23, an issue in the @angular/service-worker package compromises the integrity of request-policy enforcement during request reconstruction. When the Angular Service Worker intercepts network requests for matched assets, i | Medium 5.7 | 22 Jun 2026 |
| CVE-2026-50170 | Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 22.0.0-rc.2, 21.2.15, 20.3.22, and 19.2.23, a vulnerability was discovered in @angular/common when Server-Side Rendering (SSR) and hydration are enabled. The HttpTransferCache utility optimizes hydration by caching outgoing HTTP requests performed during SSR | High 8.2 | 22 Jun 2026 |
| CVE-2026-46417 | Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 22.0.0-next.12, 21.2.13, 20.3.21, and 19.2.22, a Server-Side Request Forgery (SSRF) vulnerability exists in @angular/platform-server. The issue stems from how the server-side rendering (SSR) engine processes the request URL provided to the rendering entry poi | High 8.8 | 22 Jun 2026 |
| CVE-2026-54268 | Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 22.0.1, 21.2.17, and 20.3.25, a Denial of Service (DoS) vulnerability exists in the @angular/common package of the Angular framework. The formatDate function, which is also utilized by the standard Angular DatePipe, does not properly limit or validate the len | High 8.2 | 22 Jun 2026 |
| CVE-2026-54264 | Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 22.0.1, 21.2.17, and 20.3.25, an information disclosure vulnerability exists in the @angular/service-worker package of the Angular framework. When the Service Worker fetches assets, it preserves metadata (such as headers) from the original request. However, o | High 8.3 | 22 Jun 2026 |
| CVE-2026-54265 | Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 22.0.1, 21.2.17, and 20.3.25, an issue in the @angular/compiler package allows bypassing DOM property sanitization through the use of two-way property bindings. Specifically, when a native DOM property that requires sanitization (such as innerHTML, srcdoc, sr | Medium 5.3 | 22 Jun 2026 |
| CVE-2026-54266 | Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 22.0.1, 21.2.17, and 20.3.25, Angular's HttpTransferCache caches HTTP requests made during Server-Side Rendering (SSR) so that they can be reused during client-side hydration. This avoids repeating the same HTTP requests on the client. The cached responses ar | High 8.8 | 22 Jun 2026 |
| CVE-2026-54267 | Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 22.0.1, 21.2.17, and 20.3.25, to optimize client-side bootstrap in Server-Side Rendered (SSR) environments, Angular supports Hydration via provideClientHydration(). During SSR, Angular serializes the application's runtime state (such as cached HttpClient resp | High 8.6 | 22 Jun 2026 |
| CVE-2026-50178 | The Angular Language Service VS Code Extension provides a rich editing experience for Angular templates. the client-side Angular Language Service VS Code extension configures the tooltip Markdown renderer with the isTrusted: true option (located in client/src/client.ts). This setting instructs VS Code to trust all rendered content it receives, which enables active elements such as command: URIs. H | High 8.7 | 22 Jun 2026 |
| CVE-2026-50557 | Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 22.0.0-rc.2, 21.2.15, 20.3.22 and 19.2.22, an issue in the @angular/compiler and @angular/core packages allows bypassing element and attribute sanitization/validation through specific namespace workarounds. Specifically, namespaced script elements (e.g., <svg | Medium 5.3 | 22 Jun 2026 |
| CVE-2026-52725 | Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 22.0.0-rc.2, 21.2.15, 20.3.22, and 19.2.23, an issue in the @angular/core package allows bypassing script-execution restrictions during dynamic component creation. Specifically, the dynamic component instantiation mechanism (createComponent) failed to reject | Medium 5.3 | 22 Jun 2026 |
| CVE-2026-49241 | The Angular Language Service VS Code Extension provides a rich editing experience for Angular templates. Prior to 21.2.4, the client-side Angular Language Service VS Code extension reads the custom TypeScript SDK paths typescript.tsdk and js/ts.tsdk.path directly from workspace configurations (.vscode/settings.json) without verifying VS Code Workspace Trust state or asking for user consent (locate | High 8.7 | 22 Jun 2026 |
| CVE-2026-44437 | The Angular SSR is a server-rise rendering tool for Angular applications. From 19.0.0-next.0 to before 19.2.25, 20.3.25, 21.2.9, and 22.0.0-next.7, a vulnerability exists in the X-Forwarded-Prefix header processing logic within Angular SSR. The internal validation mechanism fails to properly account for URL-encoded characters, specifically dots (%2e%2e). This allows an attacker to bypass security | Medium 6.9 | 13 May 2026 |
| CVE-2026-41423 | Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to versions 19.2.21, 20.3.19, 21.2.9, and 22.0.0-next.8, a Server-Side Request Forgery (SSRF) vulnerability exists in @angular/platform-server due to improper handling of URLs during Server-Side Rendering (SSR). When an attacker sends a request such as GET /\evi | High 8.7 | 8 May 2026 |
| CVE-2026-33397 | The Angular SSR is a server-rise rendering tool for Angular applications. Versions on the 22.x branch prior to 22.0.0-next.2, the 21.x branch prior to 21.2.3, and the 20.x branch prior to 20.3.21 have an Open Redirect vulnerability in `@angular/ssr` due to an incomplete fix for CVE-2026-27738. While the original fix successfully blocked multiple leading slashes (e.g., `///`), the internal validati | Medium 6.9 | 26 Mar 2026 |
| CVE-2026-32635 | Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 22.0.0-next.3, 21.2.4, 20.3.18, and 19.2.20, a Cross-Site Scripting (XSS) vulnerability has been identified in the Angular runtime and compiler. It occurs when the application uses a security-sensitive attribute (for example href on an anchor tag) together wi | High 8.6 | 16 Mar 2026 |
| CVE-2026-27970 | Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Versions prior to 21.2.0, 21.1.16, 20.3.17, and 19.2.19 have a cross-Site scripting vulnerability in the Angular internationalization (i18n) pipeline. In ICU messages (International Components for Unicode), HTML from translated content was not properly sanitized and c | High 7.6 | 26 Feb 2026 |
| CVE-2026-22610 | Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to versions 19.2.18, 20.3.16, 21.0.7, and 21.1.0-rc.0, a cross-site scripting (XSS) vulnerability has been identified in the Angular Template Compiler. The vulnerability exists because Angular’s internal sanitization schema fails to recognize the href and xlink: | High 8.5 | 10 Jan 2026 |
| CVE-2025-66412 | Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 21.0.2, 20.3.15, and 19.2.17, A Stored Cross-Site Scripting (XSS) vulnerability has been identified in the Angular Template Compiler. It occurs because the compiler's internal security schema is incomplete, allowing attackers to bypass Angular's built-in secu | High 8.5 | 1 Dec 2025 |
| CVE-2025-61261 | A reflected cross-site scripting (XSS) vulnerability in CKeditor v46.1.0 & Angular v18.0.0 allows attackers to execute arbitrary code in the context of a user's browser via injecting a crafted payload. | Medium 5.4 | 7 Nov 2025 |
| CVE-2021-4231 | A vulnerability was found in Angular up to 11.0.4/11.1.0-next.2. It has been classified as problematic. Affected is the handling of comments. The manipulation leads to cross site scripting. It is possible to launch the attack remotely but it might require an authentication first. Upgrading to version 11.0.5 and 11.1.0-next.3 is able to address this issue. The name of the patch is ba8da742e3b243e8f | Low 3.5 | 26 May 2022 |
Original policy
Copied from sorona.xyz on 12 Nov 2026. The summaries on this page are made from it; the live page may have changed since.
Skip to content What this pays sorona.xyz pays 1.25× the program's reward, up to +$1,000 per finding, plus a complexity bonus of up to $1,000 for especially complex or well-chained bugs. Finding │ Program pays │ Through sorona.xyz Product vulnerability (Tier OT0; supply-chain compromise is a separate category) │ $500 - $7,500 │ $625 - $8,500 Other security issue (Tier OT0 flat award) │ $1,000 │ $1,250 Submit a vulnerability CVE history 13 Last 12 months 14 Lifetime XSS 40 % Info disclosure 25 % Denial of service 20 % Access control 10 % Latest advisories Loading the feed Overview Angular is Google's enterprise web framework and one of the three frameworks large front ends are actually built on, with unusually deep penetration in banking, insurance, healthcare and public-sector portals where its opinionated structure and long-term-support releases win; Google's own consumer surfaces run on it too. Every Angular application inherits the framework's sanitiser directly, so a sanitiser bypass is a stored-XSS primitive against tens of thousands of authenticated enterprise applications at once, with no per-app misconfiguration required, and thirteen CVEs in the last twelve months show that is not theoretical. Google pays for it through the Bug Hunters open-source VRP, where all four Angular repositories sit at Tier OT0 and a product vulnerability in the project's own code runs from $500 to $7,500 at a panel's discretion. sorona.xyz adds 1.25× on top of whatever Google awards, up to $1,000 more, plus a complexity bonus of up to $1,000 for a well-chained finding. In scope Angular is a Google-owned GitHub organisation, which the program's own scope sentence covers, and the tier file names four of its repositories at OT0: angular/angular , angular/angular-cli , angular/components and angular/dev-infra . A product vulnerability anywhere in those four is priced at $500 to $7,500 The core framework: change detection, the dependency injection container, and the template compiler together with the rendering code it emits DomSanitizer , the bypassSecurityTrust* family, and the HTML, URL, style and resource-URL sanitisers, which the program names as a reward category of its own: "Failures in the sanitizer functions (e.g. HTML sanitizers)" Template syntax and expression evaluation, including property, attribute, class and event bindings, and the control-flow blocks the compiler expands Forms in both the reactive and template-driven flavours, and the validators applications rely on to constrain user input @angular/router : route matching, guards, resolvers, parameter and fragment handling, and lazy-loaded route boundaries @angular/common/http : interceptors, JSONP, and the XSRF token handling that guards outbound authenticated requests Server-side rendering and hydration in @angular/platform-server , including the SSR state transfer that carries server-side data into the client bundle zone.js , the async scheduling layer the framework's change detection is built on Angular Material and the CDK in angular/components : overlays, dialogs, menus, tables and every component that renders content the application did not author The ng CLI, @angular-devkit/build-angular , schematics, and the dev server and build pipeline in angular-cli angular/dev-infra , the shared build, release and CI tooling the other three repositories run through, along with npm publishing and release signing in the supply-chain category Out of scope AngularJS 1.x, which is end-of-life and does not appear in the tier file at any band Bugs in applications built with Angular rather than defects in the framework itself Developer-machine-only issues in the CLI dev server where you cannot describe a realistic attack scenario Third-party Angular component libraries, which are not Google-maintained and are not covered by the tier file Insecure application configuration chosen by a downstream integrator Repositories the tier file does not name, and releases that are not current: the program covers the latest versions of the listed repositories, and any other repository in the same organisation counts only where the file names it. What the file omits sits at OT2 or OT3, where product vulnerabilities earn no monetary reward Reports filed by anyone other than the researcher: Google requires the submission under your own identity through bughunters.google.com, and treats routing around the designated channel as grounds to reject Awards to researchers on sanctions lists, in territories subject to sanctions, or located in Russia or Belarus, which Google states it will not issue Most-valued findings A DomSanitizer or bypassSecurityTrust* bypass that lets attacker-controlled markup survive sanitisation: the program names sanitiser failures as a reward category, and XSS is 40% of Angular's CVE history, so this is the class most likely to reach the top of the $7,500 band Template compiler or expression-evaluation flaws that turn ordinary interpolated data into executing code without the application ever calling a bypass helper SSR hydration or state-transfer bugs that leak one visitor's server-rendered data into another visitor's page, the shape the 25% info-disclosure share usually takes Router guard bypass that reaches a route the application intended to protect, which is where the 10% access-control share lands XSRF token handling in @angular/common/http failing in a way that lets a cross-origin page issue authenticated requests on a user's behalf Denial of service in change detection or the compiler that a plain user-supplied input can trigger, rather than one that needs a hand-weakened development configuration Program rules Submit through sorona.xyz first. We validate, coordinate with the program's security team, and add the payout uplift on top of whatever it awards. Angular, angular-cli, components and dev-infra are all rated TIER_OT0, so a finding has to land in one of those four repositories to be priced at this band Product vulnerabilities cap at $7,500; the $31,337 figure circulating for this program is the supply-chain-compromise category, which covers source or build integrity rather than a code vulnerability in the repo The award is set by a discretionary panel, so the band is a range rather than a fixed table and a clearly written report with real impact is what moves you up it Angular's dominant bug classes are not memory corruption, so there is no OSS-Fuzz reproduction prerequisite here: a normal reproducible proof of concept is enough Take the flaw to Google before anyone else: the VRP treats private disclosure to a third party for purposes other than fixing the bug as grounds to refuse the reward Disclosure Coordinated through Google Bug Hunters. Google fixes on its own schedule and publishes the advisory with researcher credit, so hold any writeup until the fix has shipped. Because the program's own rules can be read as barring a third-party hand-off before the fix, file with Google directly and let sorona.xyz follow the report rather than carry it. Safe harbor Sorona will not pursue legal action against you for good-faith research submitted to us in line with this policy. We cannot speak for the upstream project, its vendor, or any third party, and we do not grant authorization on their behalf. You are responsible for understanding and following the laws that apply to you, wherever you are, and for staying within any scope the project has defined. Submit a vulnerability