<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Cristishor201</title>
    <description>The latest articles on DEV Community by Cristishor201 (@cristishor201).</description>
    <link>https://dev.to/cristishor201</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F867367%2Fda2a75e6-1e74-484b-b02e-7557455bc8d9.jpeg</url>
      <title>DEV Community: Cristishor201</title>
      <link>https://dev.to/cristishor201</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/cristishor201"/>
    <language>en</language>
    <item>
      <title>PHP2Shell: How I patched the critical PHP RCE vulnerability in my Infrastructure</title>
      <dc:creator>Cristishor201</dc:creator>
      <pubDate>Tue, 27 Oct 2026 20:54:05 +0000</pubDate>
      <link>https://dev.to/cristishor201/php2shell-how-i-patched-the-critical-php-rce-vulnerability-in-my-infrastructure-2eg7</link>
      <guid>https://dev.to/cristishor201/php2shell-how-i-patched-the-critical-php-rce-vulnerability-in-my-infrastructure-2eg7</guid>
      <description>&lt;h2&gt;
  
  
  News
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7tj9ubhzihui8ziw5hjr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7tj9ubhzihui8ziw5hjr.png" alt="PHP news heap corruption" width="800" height="448"&gt;&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Real Problem
&lt;/h2&gt;

&lt;p&gt;I have documented with the help of AI, and this is what I managed to come up with.&lt;br&gt;
It’s about some critical vulnerabilities &lt;strong&gt;PHP2Shell&lt;/strong&gt; (CVE-2026-109618 and CVE-2026-109619), which allow PHP memory exploitation, and execute remote code (RCE) without authentication.&lt;/p&gt;

&lt;p&gt;This is done by POST requests, which inject malicious code, which through heap corruption tricks memory pointers into accepting the payload instead of real files. Once the payload bypasses this threshold, instructions are fed to the processor for execution. And then PHP files are installed which act as backdoors, through which the hacker can login later using these endpoints.&lt;/p&gt;

&lt;p&gt;PHP is written in &lt;strong&gt;C&lt;/strong&gt; and uses the Zend Engine to manage pointers, which in the end executes php scripts. Surprisingly PHP is Open-Source, which means everyone can access Zend Engine, even the attackers.&lt;br&gt;
&lt;strong&gt;WordPress&lt;/strong&gt; and the &lt;strong&gt;LAMP stack&lt;/strong&gt; are the main targets, because they are omnipresent on the internet and an automated scanner finds them in seconds.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How I solved it
&lt;/h2&gt;

&lt;p&gt;Firstly, I identified the applications from the micro-services which use php, and then I checked in the verssion through &lt;code&gt;php -v&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Then I have asked AI, which are the correction versions which contains the patch.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;PHP branch&lt;/th&gt;
&lt;th&gt;Vulnerable Version&lt;/th&gt;
&lt;th&gt;Secure Version (patched)&lt;/th&gt;
&lt;th&gt;Branch Status&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;PHP 8.2&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&amp;lt; 8.2.35&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;8.2.35&lt;/code&gt; (or newer)&lt;/td&gt;
&lt;td&gt;Security Support&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;PHP 8.3&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&amp;lt; 8.3.36&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;8.3.36&lt;/code&gt; (or newer)&lt;/td&gt;
&lt;td&gt;Active&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;PHP 8.4&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&amp;lt; 8.4.27&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;8.4.27&lt;/code&gt; (or newer)&lt;/td&gt;
&lt;td&gt;Active&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;PHP 8.5&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&amp;lt; 8.5.12&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;8.5.12&lt;/code&gt; (or newer)&lt;/td&gt;
&lt;td&gt;Current Version&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;• For &lt;strong&gt;Firefly&lt;/strong&gt; I used&lt;br&gt;
&lt;code&gt;docker compose pull &amp;amp;&amp;amp; docker compose up -d&lt;/code&gt;&lt;br&gt;
for updating my own instance, and now I am up to date.&lt;br&gt;
• For the &lt;strong&gt;LAMP stack&lt;/strong&gt; I used generic images like &lt;code&gt;php:8.3-apache&lt;/code&gt; / &lt;code&gt;php:8.4-apache&lt;/code&gt; / &lt;code&gt;php:8.5-apache&lt;/code&gt;, and of course updated with pull image and prune within the &lt;strong&gt;Portainer&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;At &lt;strong&gt;Wordpress&lt;/strong&gt; I didn’t reach yet with my website, but I would do the modification in Portainer as well.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Infiltration Checks
&lt;/h2&gt;

&lt;p&gt;After I closed up the vulnerability, I started a system check, to see what files had been uploaded or which are the damages, if any.&lt;/p&gt;

&lt;p&gt;In the containers which runs &lt;strong&gt;PHP&lt;/strong&gt;, I searched in &lt;strong&gt;Portainer&lt;/strong&gt; by terms:&lt;/p&gt;

&lt;p&gt;• &lt;code&gt;PHPSESSID&lt;/code&gt;&lt;br&gt;
• &lt;code&gt;multipart/form-data&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxfv9hm53hpvzr0k02iz0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxfv9hm53hpvzr0k02iz0.png" alt="docker container log search" width="620" height="779"&gt;&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Future improvements
&lt;/h2&gt;

&lt;p&gt;I am still thinking if I want to use a service like &lt;strong&gt;WatchTower&lt;/strong&gt; for automatically updating containers, and so closing the window of vulnerability. The reason it’s that not all updates are good, like it happened with Windows, and I rather prefer more control.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CrowdSec&lt;/strong&gt; seems the best approach to these PHP attacks.&lt;/p&gt;

</description>
      <category>php</category>
      <category>cybersecurity</category>
    </item>
    <item>
      <title>How I split my AI workload in 2026</title>
      <dc:creator>Cristishor201</dc:creator>
      <pubDate>Fri, 24 Jul 2026 20:36:25 +0000</pubDate>
      <link>https://dev.to/cristishor201/how-i-split-my-ai-workload-in-2026-254b</link>
      <guid>https://dev.to/cristishor201/how-i-split-my-ai-workload-in-2026-254b</guid>
      <description>&lt;p&gt;On the Artificial Intelligence (AI) front, I use:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Gemini -  general stuff (psychological, medicine, relationships, politics, jobs, legal / official matters). I also used image generation and video analysis.&lt;/li&gt;
&lt;li&gt;DeepSeek – code issues, programming, even debugging&lt;/li&gt;
&lt;li&gt;Claude - UI design of frontend development&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Overall, I  use Gemini most of the time.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>retrospective</category>
    </item>
    <item>
      <title>What do you do when you find a new error on google chrome in the middle of the night ?</title>
      <dc:creator>Cristishor201</dc:creator>
      <pubDate>Fri, 24 Jul 2026 06:00:00 +0000</pubDate>
      <link>https://dev.to/cristishor201/what-do-you-do-when-you-find-a-new-error-on-google-chrome-in-the-middle-of-the-night--31a5</link>
      <guid>https://dev.to/cristishor201/what-do-you-do-when-you-find-a-new-error-on-google-chrome-in-the-middle-of-the-night--31a5</guid>
      <description>&lt;p&gt;Yesterday at 4 AM, I booted up the PC (courtesy of a noisy neighbor), and I came across the &lt;code&gt;DNS_PROBE_STARTED&lt;/code&gt; error, which quickly became a challenge.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I tried&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I ran the Windows Troubleshooter, and ended up with &lt;code&gt;DNS_PROBE_FINISHED_NO_INTERNET&lt;/code&gt;, which I have to admit, I hadn’t come across errors like these before.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Unplugged the router power socket for 30 sec&lt;/li&gt;
&lt;li&gt; Reset DNS configurations:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ipconfig /flushdns
ipconfig /release
ipconfig /renew
netsh winsock reset
netsh int ip reset
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt; Changed DNS servers, ending up with the mix of Cloudflare and Google&lt;/li&gt;
&lt;li&gt; Cleared Chrome’s DNS cache  &lt;code&gt;chrome://net-internals/#dns&lt;/code&gt; and reset all experimental flags &lt;code&gt;chrome://flags/&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt; Isolated the issue by testing edge browser and smartphone, where I got the same error, which confirmed it was a local network problem&lt;/li&gt;
&lt;li&gt; Checked &lt;a href="//downdetector.ro"&gt;downdetector.ro&lt;/a&gt; but no outages were reported.&lt;/li&gt;
&lt;li&gt; Tried &lt;em&gt;Bitdefender VPN&lt;/em&gt;, which failed with Error code 9 - no internet&lt;/li&gt;
&lt;li&gt; Unplugged the router, disconnected the fiber optic cable for 2 minutes, plugged the fiber back in, and then reconnected the power.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;What actually worked&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In the end, I contacted my ISP, and I opened 2 tickets because I wasn’t sure which email was the right one.&lt;br&gt;
The dispatcher on the phone told me that my fiber optic line might be damaged.&lt;br&gt;
A technician came over, inspected the fiber optic tip, and used a digital meter, to check the signal power.He then sprayed a special optical cleaning solution inside the router port … and it worked.&lt;br&gt;
I felt a bit silly because the fix was so simple, yet I hadn’t even considered it. I really didn’t think that the dust from the floor could get inside the router, and affect the internet connection.&lt;br&gt;
Granted, my router is sitting on the floor, but it’s not like my home lab has a better spot. I am considering a rack in the future, but those are pricey , so it will take a while.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Next steps:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I researched that signal measuring tool, so I can include optical power values in future support tickets and be better prepared. I also found out about  &lt;strong&gt;one-click cleaner&lt;/strong&gt; , but it’s quite expensive, which explains why the technician used the spray instead.&lt;/p&gt;

</description>
      <category>networking</category>
      <category>dns</category>
      <category>isp</category>
      <category>retrospective</category>
    </item>
  </channel>
</rss>
