The WPS (WiFi Protected Setup) flaw explained for the average user


Recommended Posts

The WPS (WiFi Protected Setup) Flaw Explained v1.5

Last month a serious security flaw was discovered in WPS. WPS is built in and effects almost all consumer routers sold in the last few years. Below is explanation about what WPS is and what has been discovered that makes it so dangerous to have enabled.

Why was it created?

The Wi-Fi Protected Setup (WPS) was created to help unsophisticated users secure their wireless router and connect different devices to their wireless network with ease.

How WPS Works

Every router that supports WPS has a an eight-digit device pin printed on the back. When you try to connect a wireless laptop or wireless printer to your wireless network it will ask you for that 8 digit pin. Now 8 digits are great, because someone would have to be parked on your curb for the next 6.3 years trying to find the correct combination of all 8 digits. It takes 6.3 years because after guessing 3 wrong numbers, the router goes into a lock-down state for 60 seconds. So only 3 different 8 numbers combinations can be tried every 60 seconds, thus taking about 6.3 years.

What went wrong

They Split the 8 digits into 2 sets of 4. All that has to happen now is the first 4 have to be found first. 4 digits only have a 10,000 possible number combination. Once the first 4 numbers are found, the router proclaims "You've found the first four" giving, in essence, a checkpoint at which to save the progress before finding the last 4. So instead of having to guess an 8 digit combination, all that has to be guessed now is two 4 digit combinations and that takes considerably less time. So we've now gone from taking 6.3 years down to about 1 day. But of course in some cases it gets worse. Some routers do not even go into a lock-down state for 60 seconds after 3 failed attempts. It allows as many guess as can be thrown at it. This means someone could potentially connect and compromise your secured WiFi network in less than 1 day.

How to protect yourself

All router manufactures have to add WPS to their routers and turn it on by default in order to be certified by the Wi-Fi Alliance. So for the last few years ,every router has it built in and has it enabled by default.

Let's start by seeing if your router even has WPS. This can be done one of 2 ways. First check the front of your router for a big WPS push button. If you don't see a push button on the front of the router, look on the back of the router for a sticker that contains an 8 digit pin.

There are 3 ways you can protect yourself if your router has WPS:

1) Disable WPS via the web interface on your router. In some cases, even though you turn off WPS, the router doesn't listen. So to make sure WPS is really turned off do the following: Find a Windows 7 machine with Wi-Fi and remove your current wi-fi connected network from the machine and try to reconnect to it. If it prompts you for the WPS pin then, WPS is still enabled. If it prompts you for the WPA key then WPS has been successfully disabled.

2) Firmware update. To correct this WPS issue all together will require a firmware update to the router. It should be a really easy thing to fix so Router manufactures should be releasing router updates shortly. The fix simply requires the input of all 8 numbers not the present system of 2 sets of 4. A firmware update will also be needed if you have a router that will not disable properly.

3) Use alternative firmware like Tomato or DD-WRT. Both of these 3rd party firmware's do not have support for WPS built into them so they are not susceptible to the WPS attack. Below is a link to a Google docs spreadsheet which has been kept up to date by users of the internet as to which Routers have WPS and which routers it can be disabled and it stays off.

Here's a video for those who are interested in an in-depth look at WPS being exploited by the "Reaver" tool:

http://www.youtube.com/watch?v=Vg_Wo_1eo5c&hd=1

And the accompanying blog post: http://www.simplywifi.co/blog/2012/1/1/wps-brute-force-thoughts-and-video.html

It's actually worse than that.

Since the last digit is a checksum of the previous digits,[6] there are seven unknown digits in each PIN, yielding 107 = 10,000,000 possible combinations.

Since the first half of the pin consists of four digits (10,000 possibilities) and second half has only three active digits (1000 possibilities), at most only 11,000 guesses are needed before the PIN is recovered.

Wikipedia

The worst part about all this is the average user. The average user barely knows what you mean by start button (now that the word start is gone), let alone how to log into the web based interface of their router and update the firmware. So once this technique of hacking routers becomes main stream, millions of users will be sitting ducks. Millions of users will not upgrade the firmware or turn off WPS in their routers.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Microsoft launches Godot Sample to streamline Xbox PC game development on the engine by Pulasthi Ariyasinghe Microsoft today announced a new endeavor that aims to make it simpler for Godot developers to get their products into the Xbox PC ecosystem. Dubbed the "XBOX Godot Sample," this is a new public reference for developers using the open-source engine. This is set to serve as an example of how Microsoft GDK, Xbox Services, and PlayFab can be integrated into their projects. The sample is available now on GitHub as a working example. This covers key features in gaming projects that developers may need to release their projects on Xbox PC, with everything from matchmaking and game sign-in to gamepad compatibility with Godot being covered. This release is being called the first step in giving Godot developers the tools to bring their games over to Xbox PC, with more changes to come based on feedback and issue reports. However, the company was clear that this is not related to bringing Godot projects to Xbox consoles. The engine's open development model stops it from accessing console SDKs due to the requirement of NDAs and legal contracts. Here's how it explained this Godot sample project's focus: This is a source-only sample, not a product. It's MIT-licensed at the wrapper layer; the GDK and PlayFab dependencies still require their own installs and license acceptance, consistent with our other XBOX samples. There is no set update cadence for support or maintenance. We’ll watch the repo, monitor issues, and iterate where it makes sense, but this isn't a commercial release. That said, we’re excited to hear your feedback and see any community PRs, as we evolve this together. This is the first step in bringing Godot for XBOX on PC. We plan to evolve it over time based on what the community tells us is most valuable. This sample is built specifically for XBOX on PC. It doesn’t include support for XBOX Series X|S or XBOX One. If you’re already building for XBOX Series X|S or XBOX One, please talk with your XBOX representative. If not, you can get started by signing up here. Game developers can find the XBOX Godot Sample by heading to GitHub over here. Documentation on how to get started with Godot for building an Xbox PC project can be seen here.
    • I don't understand the vision. Do people really want to buy a new computer from Dell with 6 browsers installed? We all keep asking for Microsoft to stop having so much junk on their OS, and adding a bunch of browsers seems to go against that. Ideally, we would just be asked what browser we want during OOBE but Google is just going to pay Dell a bunch of money to include Chrome. Additionally, would you want your phones to start including all the browsers too when you get them? The only thing I ever wanted was to be able to uninstall IE or edge and I believe you are now able to. I do agree that microsoft needs to chill with their "are you sure you don't want to try edge before you install chrome" ads when going to download chrome.
    • It is notable that around 70% of web browser users choose Google Chrome. However, it is puzzling why anyone on Windows would opt for Chrome when Microsoft Edge is often superior in many aspects and comes pre-installed. Edge collects less data, uses less RAM, and is more optimized for Windows as a native Microsoft product. While some may point to bloat in Edge, much of it can be removed with simple tools, requiring no more effort than installing Chrome. Meanwhile, Chrome reportedly downloads large amounts of AI data (4 GB) without explicit consent. I'm sure you Chrome users love that, or? Here is one example of a tool that doesn't even need to be installed to be able to use: https://github.com/TheBobPony/MSEdgeTweaker Although Microsoft’s aggressive promotion of Edge may be questionable, the browser’s current advantages make it a preferable choice over Chrome today, even if Chrome may have been better in the past.
    • JetBrains rolls out IntelliJ IDEA update with Markdown preview fixes and more by David Uzondu Image via JetBrains IntelliJ 2026.1.3 from JetBrains has landed, bringing several highly requested bug fixes that target common UI glitches and terminal rendering issues. If you run tmux inside the integrated terminal, the IDE no longer renders the cursor above the active line. The Markdown preview bug, which was fixed in this release, had annoyed developers for quite some time, as the preview pane failed to render images saved outside the project directory. Instead of displaying the actual image, the IDE simply showed a broken image icon, a problem that stuck around for two years before this update. Over on Windows, developers running WSL can now use wsl.exe to spin up their environments without losing terminal functionality. In previous builds, launching a terminal shell with something like wsl.exe -d ubuntu inside a Windows-based project broke both shell integration and active process detection. Other bug fixes in this release include: An issue where Gradle sync incorrectly reported success as a failure on WSL when using Gradle 9.5.0. A syntax highlighting bug that flagged valid Java for-loop initialization blocks with multiple statements as incorrect. A warning bug that triggered a false non-null local variable alert when using JSpecify annotations. A database generation bug that hid the option to use a DELETE statement instead of a TRUNCATE checkbox. A Kotlin highlighting failure where an assertion error in the Gradle redundant library inspection broke error highlighting. A UI bug where the ComboBox popup lacked a maximum height restriction. A Snowflake syntax error where DataGrip failed to support the "create temp" command. A Svelte syntax parsing failure that incorrectly flagged quotes inside inline expressions. A VCS repository manager deadlock that triggered thread pool exhaustion. A memory leak where the LazyTree component kept all previous versions of a tree in memory. IntelliJ 2026.1.3 is the third bug fix release for the IntelliJ 2026.1 series. The first one landed back in April with a fix for the WSL Python interpreter freeze, another fix for guest participants using Emmet abbreviations, and corrected WildFly server deployment errors.
  • Recent Achievements

    • Collaborator
      Asgardi earned a badge
      Collaborator
    • Conversation Starter
      mobandz earned a badge
      Conversation Starter
    • Apprentice
      fernan99 went up a rank
      Apprentice
    • One Month Later
      nothanks earned a badge
      One Month Later
    • One Month Later
      B2Proxy earned a badge
      One Month Later
  • Popular Contributors

    1. 1
      +primortal
      469
    2. 2
      PsYcHoKiLLa
      243
    3. 3
      Skyfrog
      79
    4. 4
      FloatingFatMan
      73
    5. 5
      Michael Scrip
      60
  • Tell a friend

    Love Neowin? Tell a friend!