chore(deps): update dependency @angular/compiler to v21.2.19 [security] (main) - #4420
chore(deps): update dependency @angular/compiler to v21.2.19 [security] (main)#4420renovate[bot] wants to merge 1 commit into
Conversation
|
View your CI Pipeline Execution ↗ for commit a5512ec
💡 Dealing with memory or CPU issues? See memory and CPU details with the resource usage add-on ↗. ☁️ Nx Cloud last updated this comment at |
List of reported errors
|
Codecov Report✅ All modified and coverable lines are covered by tests. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Nx Cloud is proposing a fix for your failed CI:
We narrowed the logger parameter type in LocalizationExtractor from logging.LoggerApi to Pick<logging.LoggerApi, 'debug' | 'error' | 'warn'> in both the @o3r/localization and @o3r/transloco builder helpers. This resolves the TypeScript structural incompatibility that arose because the @angular/compiler security update introduced @angular-devkit/core@21.2.19 alongside the pre-existing 21.2.18, causing LoggerApi.createChild() — which returns a Logger class with a protected _subject member — to be treated as an incompatible type across the two module instances. By excluding createChild() via Pick, only the three methods actually used by the class are required, and their signatures are structurally identical across both versions.
Tip
✅ We verified this fix by re-running transloco:build-builders.
Suggested Fix changes
diff --git a/packages/@o3r/localization/builders/helpers/localization-generator.ts b/packages/@o3r/localization/builders/helpers/localization-generator.ts
index 1af544543..9469a5025 100644
--- a/packages/@o3r/localization/builders/helpers/localization-generator.ts
+++ b/packages/@o3r/localization/builders/helpers/localization-generator.ts
@@ -75,9 +75,9 @@ export class LocalizationExtractor {
/** TsConfig of the file to base on */
private readonly tsconfigPath: string;
- private readonly logger: logging.LoggerApi;
+ private readonly logger: Pick<logging.LoggerApi, 'debug' | 'error' | 'warn'>;
- constructor(tsconfigPath: string, logger: logging.LoggerApi, private readonly options?: Partial<LocalizationExtractorBuilderSchema>) {
+ constructor(tsconfigPath: string, logger: Pick<logging.LoggerApi, 'debug' | 'error' | 'warn'>, private readonly options?: Partial<LocalizationExtractorBuilderSchema>) {
this.tsconfigPath = tsconfigPath;
this.logger = logger;
}
diff --git a/packages/@o3r/transloco/builders/helpers/localization-generator.ts b/packages/@o3r/transloco/builders/helpers/localization-generator.ts
index cc52e78bc..09910209a 100644
--- a/packages/@o3r/transloco/builders/helpers/localization-generator.ts
+++ b/packages/@o3r/transloco/builders/helpers/localization-generator.ts
@@ -78,9 +78,9 @@ export class LocalizationExtractor {
/** TsConfig of the file to base on */
private readonly tsconfigPath: string;
- private readonly logger: logging.LoggerApi;
+ private readonly logger: Pick<logging.LoggerApi, 'debug' | 'error' | 'warn'>;
- constructor(tsconfigPath: string, logger: logging.LoggerApi, private readonly options?: Partial<LocalizationExtractorBuilderSchema>) {
+ constructor(tsconfigPath: string, logger: Pick<logging.LoggerApi, 'debug' | 'error' | 'warn'>, private readonly options?: Partial<LocalizationExtractorBuilderSchema>) {
this.tsconfigPath = tsconfigPath;
this.logger = logger;
}
Or Apply changes locally with:
npx nx-cloud apply-locally sHxA-hjC3
Apply fix locally with your editor ↗ View interactive diff ↗
🎓 Learn more about Self-Healing CI on nx.dev
This PR contains the following updates:
21.2.18→21.2.19Angular i18n: Cross-Site Scripting (XSS) via event-handler attributes
CVE-2026-69151 / GHSA-jj27-h5hq-8x99
More information
Details
A Cross-Site Scripting (XSS) vulnerability has been identified in the Angular compiler's internationalization (i18n) pipeline. Although Angular disallows binding to event-handler attributes such as
onclickandonerrorthrough standard attribute validation (validateAttribute()/validateProperty()), the i18n metadata collection path allowed these same attribute names to be marked for translation usingi18n-on*attributes (e.g.,i18n-onerror).When exploited, a lower-trust translation file could replace a benign static handler such as
onerror="void 0"with arbitrary executable JavaScript in the localized build.The following example illustrates a vulnerable pattern:
Impact
When exploited, this vulnerability allows arbitrary JavaScript execution within the context of the vulnerable application's domain if an attacker can control or influence the translation files used during localization. This can lead to:
Patched Versions
Workarounds
Ensure that static event-handler attributes (e.g.,
onerror,onclick) are never marked for internationalization (i18n-on*) in application templates, and ensure translation files are sourced from trusted origins.Severity
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
angular/angular (@angular/compiler)
v21.2.19Compare Source
compiler
http
platform-server
Configuration
📅 Schedule: (in timezone Europe/Paris)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.