Blog
Sonar's latest blog posts
What Code Issues Caused the CrowdStrike Outage?
This blog post takes a look at the potential code issues behind the recent global CrowdStrike outage.
![https://assets-eu-01.kc-usercontent.com:443/275a16f7-9b36-0172-ed6f-fce50dc34f53/7b69d1cd-74f7-4610-a793-6bd3e35737fa/crowdstrike_blog_featured_2x.webp](https://assets-eu-01.kc-usercontent.com:443/275a16f7-9b36-0172-ed6f-fce50dc34f53/7b69d1cd-74f7-4610-a793-6bd3e35737fa/crowdstrike_blog_featured_2x.webp?w=1201&h=1201&auto=format&fit=crop)
![https://assets-eu-01.kc-usercontent.com:443/275a16f7-9b36-0172-ed6f-fce50dc34f53/4ba7774f-9f96-48ec-a70c-d5819140a8d0/ca5a7ab4-6eca-4203-9eac-34cff3a67d59_php_core_security.png](https://assets-eu-01.kc-usercontent.com:443/275a16f7-9b36-0172-ed6f-fce50dc34f53/4ba7774f-9f96-48ec-a70c-d5819140a8d0/ca5a7ab4-6eca-4203-9eac-34cff3a67d59_php_core_security.png?w=325&h=200&auto=format&fit=crop)
How security flaws in PHP's core can affect your application
Learn how memory corruption bugs in the PHP core itself can affect your PHP application.
Read Blog post >
![Image shows various elements of code security, languages and bugs](https://assets-eu-01.kc-usercontent.com:443/275a16f7-9b36-0172-ed6f-fce50dc34f53/3b863d8e-28a8-49f6-8005-ad34ede82668/Generic%20Blog%20Image_A.png?w=325&h=200&auto=format&fit=crop)
SonarCFamily Now Supports ARM Compilers
For those not familiar with ARM (Advanced RISC Machine), let's start by sharing some numbers: in 2011, the 32-bit ARM architecture was the most widely used architecture in mobile devices and the most popular 32-bit one in embedded systems (see). Moreover in 2013, 10 billion were produced (see) and "ARM-based chips are found in nearly 60 percent of the world’s mobile devices" (see).
Read Blog post >
![Recently, many critical security vulnerabilities were fixed in popular PHP applications such as Roundcube, Wikimedia and Zend Framework that based on insecure usage of the PHP mail() func...](https://assets-eu-01.kc-usercontent.com:443/275a16f7-9b36-0172-ed6f-fce50dc34f53/60208d5b-f892-4d40-ba71-7a73c9193790/cover-33828ad6-b471-473c-b184-1a5b978881b1_mail.gif?w=325&h=200&auto=format&fit=crop)
Why mail() is dangerous in PHP
Recently, many critical security vulnerabilities were fixed in popular PHP applications such as Roundcube, Wikimedia and Zend Framework that based on insecure usage of the PHP mail() function. In this post, we have a look at the common ground of these vulnerabilities and how to use mail() securely.
Read Blog post >
![Image shows various elements of code security, languages and bugs](https://assets-eu-01.kc-usercontent.com:443/275a16f7-9b36-0172-ed6f-fce50dc34f53/641ac088-af90-4105-adeb-b808ee67a9a8/Generic%20Blog%20Image_B.png?w=325&h=200&auto=format&fit=crop)
Breaking the SonarQube Analysis with Jenkins Pipelines
One of the most requested feature regarding SonarQube Scanners is the ability to fail the build when quality level is not at the expected level. We have this built-in concept of quality gate in SonarQube, and we used to have a BuildBreaker plugin for this exact use case. But starting from version 5.2, aggregation of metrics is done asynchronously on SonarQube server side. It means build/scanner process would finish successfully just after publishing raw data to the SonarQube server, without waiting for the aggregation to complete.
Read Blog post >
![In this blog post, we present a beautiful chain of vulnerabilities which, in the end, allows an attacker to remotely execute arbitrary PHP code in the open source marketplace software osC...](https://assets-eu-01.kc-usercontent.com:443/275a16f7-9b36-0172-ed6f-fce50dc34f53/cb71a345-f28b-427f-ba57-f4baa3f4dd8b/cover-8f420be1-3769-452a-9fc2-c71fef771d38_osclass.png?w=325&h=200&auto=format&fit=crop)
osClass 3.6.1: Remote Code Execution via Image File
In this blog post, we present a beautiful chain of vulnerabilities which, in the end, allows an attacker to remotely execute arbitrary PHP code in the open source marketplace software osClass 3.6.1 used for creating classifieds sites.
Read Blog post >
![Image shows various elements of code security, languages and bugs](https://assets-eu-01.kc-usercontent.com:443/275a16f7-9b36-0172-ed6f-fce50dc34f53/3b863d8e-28a8-49f6-8005-ad34ede82668/Generic%20Blog%20Image_A.png?w=325&h=200&auto=format&fit=crop)
Cognitive Complexity, Because Testability != Understandability
Cyclomatic Complexity works very well for measuring testability, but not for maintainability. That's why we're introducing Cognitive Complexity, which you'll begin seeing in upcoming versions of our language analyzers.
Read Blog post >
![In this post, we show how a malicious user can remotely execute arbitrary commands on the underlying operating system, simply by writing an email in Roundcube 1.2.2 (>= 1.0). This vulnera...](https://assets-eu-01.kc-usercontent.com:443/275a16f7-9b36-0172-ed6f-fce50dc34f53/6b45e442-7ff1-4dd0-ace0-a8da528b330b/cover-988b28ce-ef35-40e3-82bb-88a862eb6fc6_roundcube.png?w=325&h=200&auto=format&fit=crop)
Roundcube 1.2.2: Command Execution via Email
In this post, we show how a malicious user can remotely execute arbitrary commands on the underlying operating system, simply by writing an email in Roundcube 1.2.2 (>= 1.0). This vulnerability is highly critical because all default installations are affected.
Read Blog post >
![Image shows various elements of code security, languages and bugs](https://assets-eu-01.kc-usercontent.com:443/275a16f7-9b36-0172-ed6f-fce50dc34f53/3b863d8e-28a8-49f6-8005-ad34ede82668/Generic%20Blog%20Image_A.png?w=325&h=200&auto=format&fit=crop)
We Are Adjusting Rules Severities
With the release of SonarQube 5.6, we introduced the SonarQube Quality Model, which pulls Bugs and Vulnerabilities out into separate categories to give them the prominence they deserve. Now we're tackling the other half of the job: "sane-itizing" rule severities, because not every bug is Critical.
Read Blog post >
![Image shows various elements of code security, languages and bugs](https://assets-eu-01.kc-usercontent.com:443/275a16f7-9b36-0172-ed6f-fce50dc34f53/550ac517-ee6c-44ec-99b6-94f1418e6fce/Generic%20Blog%20Image_C.png?w=325&h=200&auto=format&fit=crop)
SonarAnalyzer for C#: The Rule Engine You Want to Use
If you’ve been following the releases of the Scanner for MsBuild and the C# plugin over the last two years, you must have noticed that we significantly improved our integration with the build tool and at the same time added a lot of new rules. Also, we introduced SonarLint for Visual Studio, a new tool to analyze code inside the IDE. With these steps completed we are deprecating the SonarQube ReSharper plugin to be able to provide a consistent, high-level experience among our tools.
Read Blog post >
![Image shows various elements of code security, languages and bugs](https://assets-eu-01.kc-usercontent.com:443/275a16f7-9b36-0172-ed6f-fce50dc34f53/550ac517-ee6c-44ec-99b6-94f1418e6fce/Generic%20Blog%20Image_C.png?w=325&h=200&auto=format&fit=crop)
Bugs and Vulnerabilities are 1st Class Citizens in SonarQube Quality Model along with Code Smells
In SonarQube 5.5 we adopted an evolved quality model, the SonarQube Quality Model, that takes the best from SQALE and adds what was missing. In doing so, we've highlighted project risks while retaining technical debt.
Read Blog post >
![Image shows various elements of code security, languages and bugs](https://assets-eu-01.kc-usercontent.com:443/275a16f7-9b36-0172-ed6f-fce50dc34f53/550ac517-ee6c-44ec-99b6-94f1418e6fce/Generic%20Blog%20Image_C.png?w=325&h=200&auto=format&fit=crop)
Why You Shouldn't Use Build Breaker
There have been some heated discussions recently about the Build Breaker plugin... SonarSource doesn't want to continue the feature. The community has come to see it as a must have... So I'd like to explain why at SonarSource we no longer think it should be used.
Read Blog post >