Don't Panic: The Thymeleaf Template Injection That Only Hurts If You Let It (CVE-2026-40478)
The Thymeleaf vulnerability with a CVSS score of 9.1 grabs your attention, as it should. But before you call the cavalry and claim this as …

Java Champions & Developer Advocate and Software Engineer for Snyk. Passionate about Java, (Pure) Functional Programming, and Cybersecurity. Co-leading the Virtual JUG, NLJUG and DevSecCon community. Brian is also an Oracle Groundbreaker Ambassador and regular international speaker on mostly Java-related conferences.

The Thymeleaf vulnerability with a CVSS score of 9.1 grabs your attention, as it should. But before you call the cavalry and claim this as …

Did you know that by tampering with chat history, you're able to make LLMs respond and execute functions that are out of policy?

We know that LLMs can and will make mistakes, and while enriching your prompts with the proper context can help align results with your …

On May 13th and 14th, Foojay attended the JCON conference in Köln, Germany, where we did over 30 live-stream interviews. In this episode, we …

The implementation of RAG introduces security considerations. Risks such as prompt injection, data poisoning, access control gaps, and data …

This vulnerability highlights the importance of addressing supply chain security. If you aren't already, consider scanning your applications …

The software bill of materials (SBOM) is quickly becoming an essential aspect of open source security and compliance. In this post, we'll …

Three years after Log4Shell caused a significant security issue, we still struggle with insecure dependencies and injection problems...
A lurking issue has been surprisingly overlooked: the continued use of vulnerable Log4j and Spring Framework versions in many projects.

Nowadays, the security of your applications is just as important as the functionality they provide. Therefore, analyzing your code for …

Encryption is converting readable data or plaintext into unreadable data or ciphertext, ensuring that even if encrypted data is intercepted, …

Keeping your dependencies in check is crucial to ensure that your Spring Boot projects run smoothly and remain resilient in the face of …

An in-depth exploration of utilizing JLink to optimize Docker image sizes, enhancing application security and performance.

In December of last year, we reported CVE-2022-1471 to you. This unsafe deserialization problem could easily lead to arbitrary code …

By taking a proactive approach to XSS prevention and using the right resources and tools, developers can help ensure the security and …

Path traversal vulnerabilities are a serious threat to Java web applications, amongst the top security issues Snyk finds in Java code.

Java is a compiled language, so you should create an SBOM whenever you build a release version of your application. Find out more here!

org.yaml:snakeyaml package is widely used in the Java ecosystem, in part because it is packaged by default in the spring-boot-starter.

We invited Java security experts to dive into the fascinating world of secure coding and detecting vulnerabilities in your Java …

Resolve this issue by upgrading to commons-text version 1.10 (or later), which disables the prefixes URL, DNS, and script by default.

How DTOs are used in modern Java, how your apps can benefit, and how Java DTOs can help you be more secure.

Knowing how to select, update, and remove Java dependencies from our application is essential for security.

The last thing you need for your happily deployed application is someone to take over your system and fully control it!

Before we dive into the details of this vulnerability, we want to make it clear that there’s no need for panic!

Learn how to integrate Snyk into your GitHub CI/CD to automate security scanning as part of your build cycle prior to production.

Deserialization vulnerabilities work natively in Java, how attack chains are created, not restricted to Java's custom serialization …
The first rule of password hashing algorithms is: Don't write your own password hashing algorithm! Let's learn how we do password hashing.

We’ll explore how remote code execution (RCE) works, explaining Spring4Shell, a zero-day vulnerability in the Spring framework that could …

Learn about common threats, vulnerabilities, and misconfiguration including the recently disclosed issues in Log4j.
A pragmatic guide to Java logging—what should we log, what shouldn’t we log, and how to implement Java logging properly.
On Dec.10, 2021, a new, critical Log4j vulnerability was disclosed: Log4Shell. All current versions of log4j2 up to 2.14.1 are vulnerable.

The Java 17 LTS release brings you significant improvements to prevent malicious deserialization in your java applications.

Our research team found a correlation between socially trending vulnerabilities and the existence of exploits that can harm your …
A discussion with some great folks in the Java world about the highlights of the Snyk Java Ecosystem report and current developments in …

If you are still running on an old Maven version like 3.6.3 or below, you need to upgrade to version 3.8.1 because of security reasons.

Learn how to begin with Snyk for secure Java development so that you too can be more secure from the get-go!

JVM Ecosystem Report 2021 presents the results of the largest annual survey on the state of the JVM ecosystem.
What is a strong encryption algorithm today, might be a weak algorithm a year from now. Therefore, encryption needs to be reviewed …
Cross-site scripting (XSS) is a well-known issue and mostly utilized in JavaScript applications. However, Java is not immune to this!
With anchors, you can create a YAML bomb! The tremendous amount of (nested) objects will cause a memory overload.
Let’s see how we can integrate security and secure development into IntelliJ IDEA using the new Snyk vulnerability scanner plugin!

SQL injection, when a user adds untrusted data to a database query, is one of the most dangerous vulnerabilities for online applications.
Just like last year, and together with our partner Azul, we would like your input on how you use Java and the JVM ecosystem.
Code reviews are hard to do well. Particularly when you’re not entirely sure about the errors you should be looking for!
Code reviews are hard to do well. Particularly when you’re not entirely sure about the errors you should be looking for!
In this part, we continue with even more harmful attacks and show you how you can prevent this in your own code.

Java serialization—and specifically deserialization—is “the gift that keeps on giving” for the security issues produced over the years.

In this video, I explain and demonstrate how an XXE injection attack works by extracting system data that should not be exposed.

Naively creating custom Docker images for Java apps comes with security concerns. How do we make security an essential part of Docker …

United by their passion for open source, Payara and IBM recently teamed up for a panel discussion on security in Java application …
Tip: By distinguishing between the SQL code and the parameter data, the query can’t be hijacked by malicious input.
If you need to Deserialize an inputstream yourself, you should use an ObjectsInputStream with restrictions.
With XML eXternal Entity (XXE) enabled, it is possible to create a malicious XML, and read the content of an arbitrary file on the machine.
In this article, I will explain how you can fix vulnerabilities in third-party libraries when using Maven, even when it is not obvious.