Home · Blog · Security
Security 7 min read Last updated: July 22, 2026

The wp2shell alert and how safe your site actually is

On July 19, national cyber-security agencies — Romania's DNSC among them — raised a clear alarm: a critical flaw in WordPress, nicknamed wp2shell, that lets an attacker take over a site with no password at all. It's serious news. But past the “update now”, it's also a good moment to talk about something few people will tell you plainly: no site is immune — and that's alright, if you know how it's handled.

Cittago editorial illustration: layers of protection around a lock — site security as a discipline, not a product

Let's start with the urgent part, so you can breathe: if your site runs WordPress, check the version. If it's 6.9.5, 7.0.2 or newer, you're already covered against this attack — WordPress pushed the update automatically. If not, make a backup first, then update — and afterwards check that everything still works the way it should. The rest of this article is about what sits behind the alert.

What to remember

wp2shell is a combination of two flaws in the WordPress core that, together, let an unauthenticated attacker run code on the server — in other words, take over the site. It affects versions 6.9.x and 7.0.x and is fixed in 6.9.5 and 7.0.2 (WordPress security releases, 2026). Real-world attacks are already happening, so update now. And beyond this one case: security isn't a product you buy once, it's a discipline sized to what's at stake for you.

The alert

wp2shell: two bugs that, together, open the door

Taken separately, the two vulnerabilities look manageable. Combined, they become what's called a pre-authentication RCE — in plain terms, someone on the internet can run code on your server without any password. The first flaw (CVE-2026-63030) fools the access rules of the REST API — the service door applications use to talk to each other — through a mistake in how the server reads incoming requests. The second (CVE-2026-60137) is a SQL injection.

To see why it matters: the database is the notebook where the site keeps absolutely everything — users, posts, passwords. Normally, the site asks it polite, pre-set questions. A SQL injection is when the attacker slips a hidden command inside something that looks like an ordinary request — a bit like whispering an extra order to the waiter alongside your restaurant order, and the kitchen carrying it out without blinking. Technically: it happens when what the user types isn't “cleaned” and ends up being read as a command rather than as plain text.

And there's a nuance that matters: on its own, neither is a catastrophe. The SQL injection alone would usually need a valid account. But the first flaw makes it reachable by anyone, with no password — and only put together do they give full control. That's why it's called a chain: each link looks small, but together they open the door.

What those codes mean

CVE (Common Vulnerabilities and Exposures) is a kind of international license plate for security problems: every discovered vulnerability gets a unique code — like CVE-2026-63030 — so everyone in the world, from researchers to vendors and authorities, talks about exactly the same issue, no confusion. RCE (Remote Code Execution) is the most serious kind of flaw: the attacker runs their own commands on your server, from anywhere, as if their hands were on the keyboard. And pre-authentication means they do it with no account and no password.

Romania's National Cyber Security Directorate (DNSC) was among the agencies that raised a clear public alarm on this — and no wonder: more than 500 million sites run WordPress worldwide (DNSC, July 2026). Not all of them run exactly the vulnerable versions, but enough do for the alert to matter. Here's what's affected and what puts you in the clear:

WordPress versionStatusWhat to do
6.9.0 – 6.9.4VulnerableUpdate to 6.9.5
7.0.0 – 7.0.1VulnerableUpdate to 7.0.2
6.8.0 – 6.8.5SQL injection onlyUpdate to 6.8.6
6.9.5 / 7.0.2 and newerSafeNothing — you're covered

Am I affected? How to check in ten seconds

Go into the admin panel, to Dashboard → Updates, and read the version. If it's 6.9.5, 7.0.2 or newer, you're fine — WordPress turned on forced automatic updates for the affected versions, precisely because of how serious this is. If you see an older version, don't wait for the normal maintenance cycle.

01
Confirm the versionDashboard → Updates. You want to see at least 6.9.5 or 7.0.2.
02
Make a backup firstBefore you touch anything, a fresh, tested backup you actually know how to restore. If the update goes wrong, you have somewhere to fall back to.
03
Update, then testLet the auto-update run or do it by hand, today. Then open the important pages and the forms and check that nothing broke. Sometimes the automatic update is blocked by a plugin or by server permissions — that's why you confirm.
04
If you can't update right awayA firewall rule or a security plugin that blocks anonymous access to the REST API's batch endpoint (the /wp-json/batch/v1 path) lowers the risk for now — but it can also block legitimate site features, so it's a bandage, not a fix.

Story

The same Friday, two sites

Picture two bakeries, two streets apart. Almost identical sites, the same platform, built in the same month. On Friday, July 17, both were running exactly the WordPress version wp2shell goes through.

At the first, updates were on and someone — a person, not a plugin — glanced at it now and then. By Saturday morning, the patch had already landed on its own. Nobody felt a thing. A non-story.

At the second, a conflict between two plugins had quietly switched off automatic updates months earlier. Nobody had noticed, because everything “worked”. Until Monday, when customers started being redirected to a shady pill site, and Google wrapped the search result in a red warning.

The same code. The same day. The same flaw. The only difference was who was watching.

The big picture

Why no site is truly immune

Here's the part few people tell you straight: there's no 100% secure site. Any system that does useful things — and especially one that hands you a friendly panel so you can manage your own content, without a developer — means more code, more features, more doors. Every extra door is a door that, in theory, can be forced. Specialists call it the attack surface. And the attack surface grows in step with convenience.

Chart: a site's attack surface grows along with its functionality and how convenient it is to manage
The more a site does and the easier it is to manage, the more “doors” it has — and so the more attack surface. wp2shell was exploited through exactly this kind of convenience door.

wp2shell is the perfect illustration. The flaw was exploited through the REST API — a feature meant to make WordPress more flexible and easier to integrate with other applications. It's not a defect born of carelessness, it's the price of complexity. Any platform powerful enough — WordPress, but its alternatives too — has, somewhere, a door like this that nobody has spotted yet.

A very current example: version 7.0 — the exact affected line — is the one that brings the “AI foundations” into WordPress: a new screen, Connectors, where you plug your preferred AI provider and other external services straight into the site. Powerful, useful features. And, at the same time, new surface. To be fair: it wasn't the AI foundations that caused the flaw — wp2shell hits some older components. But the direction is the same: the more a platform does, the more it has to defend. Today's convenience is tomorrow's surface.

And there's one more thing that matters, to put the alert in the right context: the response was mature. The flaw was reported responsibly, fixed quickly and pushed automatically to millions of sites within days. That's not the mark of a broken system, but of a healthy one, with serious people behind it. The difference between a secure site and a vulnerable one isn't “which technology you use”, it's “who's watching it and how fast they react”.

Response timeline: WordPress released the patch and forced auto-update back on July 17, ahead of the public alert and the attacks
WordPress published the patch (6.9.5 / 7.0.2 / 6.8.6) and forced the automatic update back on July 17 — before the public alert and the first attacks appeared. This is what a mature response looks like.

How much security do I actually need?

Exactly as much as the stakes demand. A five-page brochure site and an online store with thousands of customers and payments don't play in the same league and shouldn't be protected the same way. The idea is to match your measures to what you have to lose — neither over-protecting a brochure, nor leaving a whole business exposed.

If you have a simple brochure site, the essentials are honestly few: up-to-date software, decent hosting and a backup. If you run a serious e-commerce, the conversation changes completely. There, security is no longer optional: you need a server that's robust both technically and on the security side, a firewall out front, automated and tested backups, and someone technical who actually looks in periodically, not just when the alarm goes off. Customer data and money don't forgive improvisation.

What actually matters

Security “by design”: the layers that make the difference

The idea of security by design is simple: you think about safety from the start, as you build, instead of patching it after something happens. In practice, for an owner who isn't technical, it comes down to a few layers. None of them spectacular. All of them important.

01
Software kept up to dateThe most boring layer is also the one that saved most sites in the wp2shell case. An updated site closes the known doors before anyone finds them.
02
Hosting that fitsNot the cheapest shared plan, but one with isolation, real resources and an application firewall. The server is the foundation — if it's fragile, the rest barely matters.
03
Offsite backups, testedNot the backup you think you have, but the one you've restored at least once. A good backup turns a disaster into a bad afternoon.
04
A person who watchesSomeone who applies the updates, follows alerts like this one and has a basic grasp of good practice. Technology doesn't manage itself.
05
Least access and serious passwordsEvery account with exactly the rights it needs, unique passwords and two-step authentication on admin. Many break-ins don't even need a flaw — a weak password is enough.
The real effort

The update takes under 30 seconds. The diligence takes longer.

The visible part of an update is surprisingly short. On a typical site, you press a button and in under 30 seconds WordPress handles everything itself: it downloads the package, unpacks it, drops into maintenance for a moment, copies the files, updates the database and exits. “WordPress updated successfully.” Exactly how long depends on your hosting and the size of the site — the point is that the technical part is unexpectedly fast.

The WordPress update to 7.0.2, step by step: download, unpack, maintenance, file copy, database update and “updated successfully”
The whole update to 7.0.2, from download to “updated successfully” — a few seconds.

It's just that the update itself is the easy part. The real work — the kind that makes the difference between “I pressed a button” and “I did it properly” — is around it: a full backup before, serious testing after (the important pages, the forms, the cart and checkout, everything that counts) and one more backup only after you've confirmed everything works. That takes time, attention and a bit of experience. The button is free; the diligence isn't.

The “About” screen in WordPress 7.0.2, the “Maintenance and Security Releases” section
The result: WordPress 7.0.2 — a “maintenance and security” release. An ordinary screen, a decidedly un-ordinary stake.

And, to be fair all the way: neither a timely update, nor the backups, nor the testing guarantee that nothing will ever happen. Nothing in security is “100%”, and anyone who promises you that is reassuring you rather than protecting you. What these layers do together is something else, more honest and more valuable: they give you the best ratio between risk and peace of mind, and turn a possible incident from a disaster into a manageable annoyance.

Frequently asked questions

Am I affected by wp2shell if I have WordPress?

Only if you're running versions 6.9.0–6.9.4 or 7.0.0–7.0.1 (and for one of the flaws, 6.8.0–6.8.5 too). If you're on 6.9.5, 7.0.2 or newer, you're already covered. Check in Dashboard → Updates; if you're not sure, ask whoever manages your site.

I've updated. Am I safe now?

For this flaw, yes. Updating to 6.9.5 or 7.0.2 closes the wp2shell attack chain. But security doesn't end at an update — if the site sat vulnerable for a few days, it's worth confirming that no one had time to leave something behind.

Should I flee WordPress after this alert?

No. WordPress is a solid platform, used by hundreds of millions of sites, and it reacted exemplarily here. Every platform has a flaw at some point. What matters is that it's maintained properly. You migrate when the project calls for it — speed, structure, type of site — not out of fear.

How do I tell if my site has already been hacked?

Typical signs: files or users you didn't create, strange redirects, a sudden slowdown, warnings from Google or your hosting company. If you sat on a vulnerable version, a careful check is worth it even if everything looks fine — a well-hidden webshell doesn't announce itself.

Where Cittago comes in

We build and maintain sites — WordPress included — and that's exactly why we see alerts like this differently: not as drama, but as maintenance. We keep versions current, put a firewall and CDN out front, set up hosting properly and make backups we actually test. And when a project truly needs a different technical foundation, we build one. We pick the tool to fit the need, not the fashion.

A site isn't secure or insecure forever. It's secure as long as someone is watching it. The rest is just a matter of when, not if.

SourcesDNSC alert — Romania's National Cyber Security Directorate · Official WordPress advisory — CVE-2026-63030 · Official WordPress advisory — CVE-2026-60137 · Official WordPress 7.0.2 announcement

C Paul TatuCittago · Boutique Digital Studio · Cluj-Napoca, Romania
Book a call

If you want a second opinion

Not sure which version you’re on? We’ll tell you, no strings attached.

We’ll look over your site together — version, updates, backups — and tell you honestly what’s fine and what isn’t. Fifteen minutes, even just for advice.

What clients say

Trusted by the people who signed the checks.

5.0★★★★★21 reviews on Google
★★★★★
We have been collaborating for over 11 years on both presentation web sites and complex projects. We have always returned to the services offered by Cittago, thanks to the professionalism, courtesy and innovative solutions offered. Thanks for your partnership!
Aurelia Campean2 years ago
★★★★★
I am very satisfied with the collaboration with Cittago. Everything went in a professional manner, the deadlines were met, and the result was as expected. I highly recommend!
Cristea Christian4 days ago
★★★★★
5* for the quality of service, promptness and seriousness. Thank you, Paul!
Budurlean Crina5 days ago
★★★★★
We had the cabins and the view, but Cittago gave us the perfect digital “reception”. They created a premium, ultra-fast website for us that handles everything on its own: live calendar, automatic invoicing and card payments (only 1% commission instead of 15–20% on platforms). The best part? We edit it ourselves in a few minutes, without depending on anyone. And Paul is simply unreal for this world! The warmth, respect and attention to detail with which he explains absolutely everything make you understand the services offered perfectly. Not to be missed is the availability that Paul shows when you have a question. Honestly, I have rarely dealt with such a professional and dedicated company.
Viorica Pop5 days ago
★★★★★
Serious and fast team. They built our BarBox website from scratch, with a cinematic look that represents us perfectly, plus local SEO so people in Cluj can find us. Simple communication, zero hassle. 5 well-deserved stars.
tudor j6 days ago
★★★★★
I had the pleasure of working with Cittago for the creation of a website for a project that I develope together with some friends, and I couldn't be happier with the results. From start to finish, they demonstrated exceptional professionalism, creativity, and technical expertise. First and foremost, the communication throughout the project was outstanding. They took the time to listen to our ideas and goals, and they translated them into a visually stunning and highly functional website that perfectly represents our product. We were kept in the loop at every stage of development, and they was always quick to address any questions or concerns I had. What sets Cittago apart is their dedication to delivering results. They went above and beyond to ensure that our website met all our requirements and objectives. They even provided valuable suggestions and insights that improved the overall project. I wholeheartedly recommend Cittago to anyone looking for a digital agency that combines creativity, technical expertise, and exceptional customer service. Thank you Paul for a job well done!
Bochiş Răzvan2 years ago
★★★★★
Thank you Paul for all the professionalism you show, for all the patience and all the help you give me. I highly recommend!
Daniela Pasc2 years ago
★★★★★
The collaboration I have had since the beginning, that is, for several years, with Cittago is a real pleasure! I turned to Paul to rebuild the website of a small dental clinic and I am extremely satisfied with the collaboration. Paul is still taking care of the website. The promptness with which he responds to me, the patience with which he explains everything I don't understand (and there are many, believe me 😂🙈), his maximum involvement and desire to give his best have always helped me and given me a lot of confidence in him. He is always there when I need him. Very professional! And the quality-price ratio is unbeatable. I recommend Paul with confidence, if you want someone who really puts his heart into what he does and gives his best!
Daniela Chis2 years ago
★★★★★
I have had the pleasure of working with Paul and Cittago on several websites. From the initial discussion to the launch of the website, I was impressed by their professionalism, expertise, and dedication to creating an exceptional product to launch online that we can all be proud of. Paul took the time to truly understand what I wanted, what my brand meant, what my target audience was, and what my goals were. Using his knowledge, he was able to create a user-friendly, visually beautiful, responsive (on both mobile and desktop) website that communicates the services and products we offer very well. The website not only looks great, but it works just as well. Throughout the process, Paul was receptive to feedback, and patiently answered all the requests I had. We appreciated his vast knowledge (about website creation, SEO, social media connection, visual experience), his expertise in applying it, his patience, transparency, and his ability to successfully complete such a project, which was very important to us. For these reasons, I highly recommend this company and the services it offers.
Aissa Suciu2 years ago
·First paint — when something appeared·Server response — before anything could load·Page ready — when you could interactSpeed details