Cloudflare began scanning Authorization headers on 20 August 2026, and the docs did not change

Basic auth credentials are now decoded at Cloudflare's edge by default, and machine-to-machine API traffic is in scope.

Read time
12 min
Word count
1.9K
Sections
11
FAQs
8
Share
Cloudflare leaked credentials detection now scans Authorization headers, 20 August 2026, on by default
On this page · 11 sections
  1. What actually changed
  2. Basic auth is how machines log in, and that is the exposure
  3. Two Cloudflare pages disagree about the header your origin parses
  4. What you actually get depends on your plan
  5. The numbers Cloudflare published
  6. India-specific considerations
  7. What to check this week
  8. What is still unknown
  9. FAQ
  10. How eCorpIT can help
  11. References

Summary. On 20 August 2026 Cloudflare extended leaked credentials detection to the Authorization request header, decoding HTTP Basic Authentication credentials and checking them against its leaked-credential database. The changelog states the change "was applied automatically for zones with leaked credentials detection enabled. No configuration changes are required." On Free plans that detection is on by default, and Cloudflare says 30 million Internet properties, roughly 20% of the web, sit behind it. The feature page describing what gets scanned carries a modified date of 5 May 2026 and does not mention the Authorization header at all. It also lists 3 possible values for the Exposed-Credential-Check header sent to your origin, where the managed transforms reference lists 4. The missing value is 3. Cloudflare's own research puts 52% of detected authentication requests as containing leaked passwords against a database of over 15 billion records, and 95% of leaked-password login attempts as bot traffic. The added coverage costs nothing: Cloudflare calls the check "a free feature", so this arrives at $0 on the invoice and as a behaviour change nobody approved.

What actually changed

The changelog is specific about the mechanism. Detection "now scans the Authorization request header for Basic Authentication credentials. Previously, the detection only inspected request bodies, query strings, and headers for well-known web applications or custom detection locations, which meant credentials sent through HTTP Basic Authentication were not covered by default."

The new scan "decodes the Authorization: Basic <credentials> header and compares the extracted username and password against Cloudflare's database of leaked credentials, the same way as other default scan locations."

That last clause is the operative one. Matches populate the same fields you may already be acting on, so existing rules fire on the new input without being edited.

Scan location Covered before 20 Aug 2026 Covered after
Request body, well-known CMS login forms Yes Yes
Query string parameters Yes Yes
Headers for well-known web applications Yes Yes
Custom detection locations (Enterprise, up to 10) Yes, if configured Yes, if configured
Authorization: Basic header No Yes, by default
Authorization: Bearer tokens No Not stated in the changelog

The default scan already covered Drupal, Joomla, Ghost, Magento, Plone, WordPress and Microsoft Exchange OWA, plus "generic rules for other common web authentication patterns", per the leaked credentials detection page. That page's structured data reports a modified date of 5 May 2026. The Authorization header does not appear on it. The traffic detections page, updated 19 August 2026, does not mention it either.

Basic auth is how machines log in, and that is the exposure

A browser login form is a human typing a password. An Authorization: Basic header is usually something else: a cron job, a webhook receiver, a monitoring probe, a legacy SOAP endpoint, an internal service calling another internal service. RFC 7617 defines the scheme as transmitting "credentials as user-id/password pairs, encoded using Base64", and warns that it "is not a secure method of user authentication, nor does it in any way protect the entity, which is transmitted in cleartext across the physical network used as the carrier."

Base64 is an encoding, not encryption, so any middlebox that wants to read a Basic auth credential can. Cloudflare has now decided to.

The practical consequence is a category error waiting to happen. Service account passwords are frequently old, frequently shared, and frequently drawn from the same weak pool that ends up in breach corpora. If a service credential appears in the Have I Been Pwned matched-passwords dataset that Cloudflare uses, then a custom rule written to block cf.waf.credential_check.password_leaked will start blocking a machine client that has authenticated successfully for years. Nothing in your configuration changed. Nothing in your deployment changed. The scan location changed underneath both.

Cloudflare documents the privacy side clearly: "Cloudflare does not store, log, or retain plaintext end-user passwords when performing leaked credential checks. Passwords are hashed, converted into a cryptographic representation, and then compared against a database of leaked credentials." That addresses retention. It does not address the operational blast radius of a rule that now sees traffic it did not see on 19 August.

Two Cloudflare pages disagree about the header your origin parses

Leaked credentials detection can add an Exposed-Credential-Check request header to matching requests, so your origin can warn the user. The detection page describes the value as "for example, 1 if both username and password were a leaked pair, 2 if the username was leaked, or 4 if only the password was leaked."

The managed transforms reference lists a fourth value the detection page never mentions.

Header value Meaning, per managed transforms reference Listed on the detection page
Exposed-Credential-Check: 1 Previously leaked username and password detected, Pro plan and above Yes
Exposed-Credential-Check: 2 Previously leaked username detected, Enterprise plan Yes
Exposed-Credential-Check: 3 Similar combination of previously leaked username and password detected, Enterprise plan No
Exposed-Credential-Check: 4 Previously leaked password detected, all plans Yes
Header absent No match, or the managed transform is off Implied, not stated

An Enterprise origin handler written from the detection page will not have a branch for 3. Depending on how it was coded, that request either falls through to a default deny or falls through to a default allow, and both are wrong. The reference also notes that on Free plans, where only password leakage is knowable, "Cloudflare will add an Exposed-Credential-Check: 4 header to the request."

Where two vendor pages disagree about a value your code switches on, the safer read is the reference page, and the correct fix is a default branch that logs the unexpected value rather than guessing.

What you actually get depends on your plan

The fields exist on paper for everyone. They do not populate for everyone.

Plan Leaked credentials fields available Custom detection locations
Free Password Leaked only 0
Pro Password Leaked, User and Password Leaked 0
Business Password Leaked, User and Password Leaked 0
Enterprise All leaked credentials fields 10
Any plan, malicious uploads detection Not included; paid add-on, Enterprise only Not applicable

Two details in that table matter more than they look. First, custom detection locations are Enterprise-only and capped at 10, and http.request.headers is one of the permitted fields, so an Enterprise team may already have hand-built an Authorization-header location. Cloudflare has not documented what happens when a custom location now overlaps a default one. Second, on Free plans the docs state that "the leaked credentials detection is enabled by default, and no action is required", which means the Authorization-header scan reached the largest population of zones without anyone opting in.

That default-on posture was already contentious. A documentation issue filed against Cloudflare's own repository on 17 March 2025 argued that the docs "breeze past the fact that the Leaked Credentials Detection can view your credentials as well as the fact that this is enabled by default on free accounts", and asked for the kind of reassurances a compliance reviewer expects. The issue was closed the next day. Seventeen months later the same page has gained a new default scan location and not a new sentence about it.

The numbers Cloudflare published

The scale case for doing this is strong, and it is Cloudflare's own data rather than a vendor estimate. In an application security analysis published 17 March 2025, Radwa Radwan of Cloudflare wrote that "41% of successful logins across websites protected by Cloudflare involve compromised passwords", measured on traffic between September and November 2024.

The same analysis reports that "52% of all detected authentication requests contain leaked passwords found in our database of over 15 billion records, including the Have I Been Pwned (HIBP) leaked password dataset", and that "95% of login attempts involving leaked passwords are coming from bots, indicating that they are part of credential stuffing attacks."

Extending that check to Basic auth is defensible security engineering. Shipping it as a silent default while the reference page sits at 5 May 2026 is what turns a good change into an incident.

India-specific considerations

Indian teams have a sharper reason to care, and it cuts both ways.

Section 8(5) of the Digital Personal Data Protection Act 2023 obliges a Data Fiduciary to take reasonable security safeguards to prevent a personal data breach. The Act's schedule sets the penalty for breaching that obligation at an amount that "may extend to two hundred and fifty crore rupees", or ₹250 crore. Detecting that your users are authenticating with credentials already circulating in breach corpora is evidence of a safeguard, and the Exposed-Credential-Check header gives you a mechanism to force a reset.

The other side is the transfer question. Section 16 of the same Act lets the Central Government restrict transfers of personal data for processing to notified countries. Credential checking happens at Cloudflare's edge on hashed values, and Cloudflare states plaintext passwords are neither stored nor logged, so the exposure is narrower than it first reads. It is still a processing step performed outside your application boundary, and it belongs in your record of processing activities rather than being discovered during an audit. Our DPDP Act engineering playbook covers how to document that class of edge processing.

What to check this week

Four checks, ordered by how badly the surprise lands.

List every custom rule and rate limiting rule that references cf.waf.credential_check.password_leaked or any sibling field with a block or challenge action. Those are the rules whose input set just grew. Move them to log for a week if you have any machine clients on Basic auth.

Inventory which of your endpoints accept Authorization: Basic. Internal APIs, webhook receivers and legacy integrations are the usual holdouts, and they are the ones with service passwords nobody has rotated.

Check whether the Add Leaked Credentials Checks Header managed transform is on. If it is, read your origin's handler and confirm it has an explicit branch for value 3 and a safe default for anything unrecognised.

Look at Security Analytics for the days either side of 20 August 2026 and compare the volume of requests with a leaked-credential match. A step change on that date is this feature, not an attack.

Longer term, the durable fix is not a WAF rule. Basic auth on a machine-to-machine path should become a scoped token with a rotation policy, which is the same argument we make in our write-up of credential handling for AI agents.

What is still unknown

Cloudflare has not stated whether Authorization: Bearer values are inspected, whether Digest authentication is in scope, what precedence applies when an Enterprise custom detection location targets the same header, or whether the Free-plan default-on behaviour extends to this new scan location in every region. None of those are documented as unsupported. They are undocumented, which is a different and less comfortable thing. Test against a staging zone before you write a rule that depends on any of them.

FAQ

How eCorpIT can help

A default-on scan that changes what your block rules see is an application security change, not a vendor announcement. Our senior engineering teams inventory the endpoints still using Basic auth, move credential rules to log before they block, and replace machine passwords with scoped, rotatable tokens. eCorpIT is ISO 27001:2022 certified and builds applications aligned with DPDP Act requirements. If Basic auth is still holding up an internal integration, book an application security review and we will map the exposure with you. The rollout mechanics sit in our code scanning and application security rollout service, and the wider edge-detection picture is covered in our comparison of Cloudflare session and bot detection options and in our web platform guide for 2026.

References

  1. Leaked credentials detection now scans Authorization headers, Cloudflare Changelog, 20 August 2026
  1. Leaked credentials detection, Cloudflare WAF documentation
  1. Traffic detections and availability by plan, Cloudflare WAF
  1. Managed transforms reference, Add leaked credentials checks header, Cloudflare Rules
  1. Get started with leaked credentials detection, Cloudflare WAF
  1. Password reuse is rampant, Cloudflare, 17 March 2025
  1. RFC 7617, The Basic HTTP Authentication Scheme, IETF
  1. Pwned Passwords, Have I Been Pwned
  1. Leaked Credentials Detection docs needs better explanation, cloudflare-docs issue 20903
  1. Custom rules, Cloudflare WAF
  1. Rate limiting rules, Cloudflare WAF
  1. Security Analytics, Cloudflare WAF
  1. The Digital Personal Data Protection Act 2023, sections 8 and 16 and the schedule, Ministry of Electronics and IT

Last updated 23 August 2026.

Frequently asked

Quick answers.

01 What changed in Cloudflare's leaked credentials detection?
On 20 August 2026 the detection began decoding the Authorization request header for HTTP Basic Authentication credentials and checking them against Cloudflare's leaked-credential database. Before that date it inspected only request bodies, query strings, and headers for well-known web applications or configured custom detection locations, so Basic auth was uncovered.
02 Did I have to enable this change?
No, and that is the risk. Cloudflare's changelog states the change was applied automatically for zones with leaked credentials detection already enabled, and that no configuration changes are required. On Free plans the detection itself is enabled by default, so the new scan location reached those zones without any administrator action at all.
03 Can this break my existing WAF rules?
It can change their effect. Matches populate the same fields, such as cf.waf.credential_check.password_leaked, so a rule that blocks on that field now evaluates Basic auth traffic it never saw before. A machine client whose service password appears in the leaked-credential database can start being blocked without any rule edit.
04 What values can the Exposed-Credential-Check header have?
The managed transforms reference lists four: 1 for a leaked username and password pair on Pro and above, 2 for a leaked username on Enterprise, 3 for a similar leaked combination on Enterprise, and 4 for a leaked password on all plans. The leaked credentials detection page omits 3 entirely.
05 Does Cloudflare store my users' passwords?
Cloudflare's documentation states it does not store, log, or retain plaintext end-user passwords when performing leaked credential checks. Passwords are hashed, converted into a cryptographic representation, and compared against the leaked-credential database. That covers retention, but the check is still processing performed outside your application boundary.
06 Which plans get which detection fields?
Free plans get the Password Leaked field only. Pro and Business add User and Password Leaked. Enterprise gets all leaked credentials fields, including Username Leaked, Similar Password Leaked and Authentication detected, plus up to 10 custom detection locations. Free, Pro and Business get zero custom detection locations.
07 How common are leaked credentials in real traffic?
Cloudflare's published analysis of September to November 2024 traffic found 41% of successful logins on protected sites involved compromised passwords, and 52% of all detected authentication requests contained leaked passwords matched against a database of over 15 billion records. It attributed 95% of those attempts to bots.
08 Does this cost anything extra?
No. Cloudflare's availability table lists leaked credentials detection as included on Free, Pro, Business and Enterprise plans, and its own research post describes the check as a free feature. Malicious uploads detection, by contrast, is listed as a paid add-on available only on Enterprise plans.

About the author

Manu Shukla

Founder & Director

Founder of eCorpIT. Hands-on engineer leading senior-only delivery for AI apps, custom software, and cloud systems for global clients.

Subscribe

One engineering note a week. No fluff, no spam.

Senior-architect playbooks on AI agents, mobile apps, cloud, security, data, and marketing — delivered every Wednesday.

Past the reading

Read enough. Let's build something.

A senior architect responds in 24 working hours with scope, indicative cost, and a timeline. NDA before any technical conversation.