Skip to content

Commit 696fe64

Browse files
committed
Merge branch 'production' into unused-component
2 parents 2a51947 + d6877d8 commit 696fe64

File tree

165 files changed

+691
-501
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

165 files changed

+691
-501
lines changed

public/__redirects

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,13 @@
3838
/waf/change-log/index.xml /changelog/rss/waf.xml 301
3939
/waf/change-log/general-updates/index.xml /changelog/rss/waf.xml 301
4040

41+
## area changelog feeds
42+
43+
/fundamentals/reference/changelog/performance/index.xml /changelog/rss/application-performance.xml 301
44+
/fundamentals/reference/changelog/platform/index.xml /changelog/rss/core-platform.xml 301
45+
/fundamentals/reference/changelog/security/index.xml /changelog/rss/application-security.xml 301
46+
/workers/platform/changelog/platform/index.xml /changelog/rss/developer-platform.xml 301
47+
4148
## legacy
4249
/release-notes/index.xml /changelog/rss/index.xml 301
4350
/release-notes/ /changelog/ 301
@@ -1241,6 +1248,8 @@
12411248
/security-center/indicator-feeds/get-started/ /security-center/indicator-feeds/ 301
12421249

12431250
# spectrum
1251+
/spectrum/changelog/ /spectrum/ 301
1252+
/spectrum/changelog/index.xml /changelog/rss/index.xml 301
12441253
/spectrum/getting-started/ /spectrum/get-started/ 301
12451254
/spectrum/getting-started/byoip/ /spectrum/about/byoip/ 301
12461255
/spectrum/getting-started/getting-started/ /spectrum/get-started/ 301
@@ -1514,6 +1523,10 @@
15141523
# time-services_redirects
15151524
/time-services/nts/usage/ /time-services/nts/ 301
15161525

1526+
# tenant
1527+
/tenant/changelog/ /tenant/ 301
1528+
/tenant/changelog/index.xml /changelog/rss/index.xml 301
1529+
15171530
# turnstile
15181531
/turnstile/get-started/domain-management/ /turnstile/reference/domain-management/ 301
15191532
/turnstile/get-started/migrating-from-recaptcha/ /turnstile/migration/recaptcha/ 301
@@ -1608,6 +1621,8 @@
16081621

16091622
# waiting-room
16101623
/waiting-room/how-to/mobile-traffic/ /waiting-room/how-to/json-response/ 301
1624+
/waiting-room/changelog/ /waiting-room/ 301
1625+
/waiting-room/changelog/index.xml /changelog/rss/index.xml 301
16111626

16121627
# warp-client
16131628
/warp-client/get-started/macOS/ /warp-client/get-started/macos/ 301

src/components/ProductReleaseNotes.astro

Lines changed: 9 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,10 @@ if (!page) {
1616
}
1717
1818
if (
19-
!page.data.release_notes_file_name &&
20-
!page.data.release_notes_product_area_name
19+
!page.data.release_notes_file_name
2120
) {
2221
throw new Error(
23-
`[ProductReleaseNotes] ${Astro.params.slug} does not have a 'release_notes_file_name' or 'changaelog_product_area_name' frontmatter property.`,
22+
`[ProductReleaseNotes] ${Astro.params.slug} does not have a 'release_notes_file_name' frontmatter property.`,
2423
);
2524
}
2625
@@ -34,37 +33,22 @@ if (
3433
}
3534
3635
const name =
37-
page.data.release_notes_product_area_name ??
3836
page.data.release_notes_file_name?.[0];
3937
4038
let releaseNotes;
4139
42-
if (page.data.release_notes_product_area_name) {
40+
if (name === "api-deprecations") {
41+
const opts = {
42+
deprecationsOnly: true,
43+
};
44+
({ releaseNotes } = await getReleaseNotes(opts));
45+
} else {
4346
const opts = {
4447
filter: (entry: CollectionEntry<"release-notes">) => {
45-
return entry.data.productArea === name;
48+
return entry.id === name;
4649
},
4750
};
4851
({ releaseNotes } = await getReleaseNotes(opts));
49-
} else {
50-
if (name === "wrangler") {
51-
const opts = {
52-
wranglerOnly: true,
53-
};
54-
({ releaseNotes } = await getReleaseNotes(opts));
55-
} else if (name === "api-deprecations") {
56-
const opts = {
57-
deprecationsOnly: true,
58-
};
59-
({ releaseNotes } = await getReleaseNotes(opts));
60-
} else {
61-
const opts = {
62-
filter: (entry: CollectionEntry<"release-notes">) => {
63-
return entry.id === name;
64-
},
65-
};
66-
({ releaseNotes } = await getReleaseNotes(opts));
67-
}
6852
}
6953
7054
if (!releaseNotes) {

src/content/changelog/waf/2025-08-04-waf-release.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ Meanwhile, the information disclosure flaw in WordPress core provides attackers
9696
<td>
9797
<RuleID id="28108d25f1cf470c8e7648938f634977" />
9898
</td>
99-
<td>100814</td>
99+
<td>100820</td>
100100
<td>CentOS WebPanel - Remote Code Execution - CVE:CVE-2025-48703</td>
101101
<td>Log</td>
102102
<td>Block</td>
@@ -136,4 +136,4 @@ Meanwhile, the information disclosure flaw in WordPress core provides attackers
136136
<td>This is a New Detection</td>
137137
</tr>
138138
</tbody>
139-
</table>
139+
</table>
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
---
2+
title: "WAF Release - 2025-08-07 - Emergency"
3+
description: Cloudflare WAF managed rulesets 2025-08-07 emergency release
4+
date: 2025-08-07
5+
---
6+
7+
import { RuleID } from "~/components";
8+
9+
This week’s highlight focuses on two critical vulnerabilities affecting key infrastructure and enterprise content management platforms. Both flaws present significant remote code execution risks that can be exploited with minimal or no user interaction.
10+
11+
**Key Findings**
12+
13+
- Squid (≤6.3) — CVE-2025-54574: A heap buffer overflow occurs when processing Uniform Resource Names (URNs). This vulnerability may allow remote attackers to execute arbitrary code on the server. The issue has been resolved in version 6.4.
14+
15+
- Adobe AEM (≤6.5.23) — CVE-2025-54253: Due to a misconfiguration, attackers can achieve remote code execution without requiring any user interaction, posing a severe threat to affected deployments.
16+
17+
**Impact**
18+
19+
Both vulnerabilities expose critical attack vectors that can lead to full server compromise. The Squid heap buffer overflow allows remote code execution by crafting malicious URNs, which can lead to server takeover or denial of service. Given Squid’s widespread use as a caching proxy, this flaw could be exploited to disrupt network traffic or gain footholds inside secure environments.
20+
21+
Adobe AEM’s remote code execution vulnerability enables attackers to run arbitrary code on the content management server without any user involvement. This puts sensitive content, application integrity, and the underlying infrastructure at extreme risk. Exploitation could lead to data theft, defacement, or persistent backdoor installation.
22+
23+
These findings reinforce the urgency of updating to the patched versions — Squid 6.4 and Adobe AEM 6.5.24 or later — and reviewing configurations to prevent exploitation.
24+
25+
<table style="width: 100%">
26+
<thead>
27+
<tr>
28+
<th>Ruleset</th>
29+
<th>Rule ID</th>
30+
<th>Legacy Rule ID</th>
31+
<th>Description</th>
32+
<th>Previous Action</th>
33+
<th>New Action</th>
34+
<th>Comments</th>
35+
</tr>
36+
</thead>
37+
<tbody>
38+
<tr>
39+
<td>Cloudflare Managed Ruleset</td>
40+
<td>
41+
<RuleID id="f61ed7c1e7e24c3380289e41ef7e015b" />
42+
</td>
43+
<td>100844</td>
44+
<td>Adobe Experience Manager Forms - Remote Code Execution - CVE:CVE-2025-54253</td>
45+
<td>N/A</td>
46+
<td>Block</td>
47+
<td>This is a New Detection</td>
48+
</tr>
49+
<tr>
50+
<td>Cloudflare Managed Ruleset</td>
51+
<td>
52+
<RuleID id="e76e65f5a3aa43f49e0684a6baec057a" />
53+
</td>
54+
<td>100840</td>
55+
<td>Squid - Buffer Overflow - CVE:CVE-2025-54574</td>
56+
<td>N/A</td>
57+
<td>Block</td>
58+
<td>This is a New Detection</td>
59+
</tr>
60+
</tbody>
61+
</table>

src/content/docs/api-shield/management-and-monitoring/endpoint-management/index.mdx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,6 @@ If you deselect **Save new endpoints to endpoint management**, the endpoints wil
114114

115115
### Add endpoints manually
116116

117-
118117
<Tabs syncKey="dashNewNav">
119118
<TabItem label="Old dashboard">
120119
<Steps>
@@ -192,7 +191,7 @@ For each saved endpoint, customers can view:
192191
- **Error rate** vs. overall traffic: grouped by 4xx, 5xx, and their sum.
193192
- **Response size**: The average size of the response (in bytes) returned to the request.
194193
- **Labels**: The current [labels](/api-shield/management-and-monitoring/endpoint-labels/) assigned to the endpoint.
195-
- **Authentication status**: The breakdown of which [session identifiers](/api-shield/get-started/#session-identifiers) were seen on successful requests to this endpoint.
194+
- **[Authentication status](/api-shield/security/authentication-posture/)**: The breakdown of which [session identifiers](/api-shield/get-started/#session-identifiers) were seen on successful requests to this endpoint.
196195
- **Sequences**: The number of [Sequence Analytics](/api-shield/security/sequence-analytics/) sequences the endpoint was found in.
197196

198197
:::note

src/content/docs/cloudflare-for-platforms/workers-for-platforms/configuration/static-assets.mdx

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: Static assets
44
description: Host static assets on Cloudflare's global network and deliver faster load times worldwide with Workers for Platforms.
55
---
66

7-
import { Aside } from "@astrojs/starlight/components";
7+
88

99
Workers for Platforms lets you deploy front-end applications at scale. By hosting static assets on Cloudflare's global network, you can deliver faster load times worldwide and eliminate the need for external infrastructure. You can also combine these static assets with dynamic logic in Cloudflare Workers, providing a full-stack experience for your customers.
1010

@@ -57,12 +57,11 @@ Before sending any file data, you need to tell Cloudflare which files you intend
5757
- A hash (32-hex characters) representing the file contents
5858
- The file size in bytes
5959

60-
<Aside type="note" title="Asset Isolation Considerations">
60+
:::note[Asset Isolation Considerations]
6161
Static assets uploaded to Workers for Platforms are associated with the namespace rather than with individual User Worker. If multiple User Workers exist under the same namespace, assets with identical hashes may be shared across them. **JWTs should therefore only be shared with trusted platform services and should never be distributed to end-users.**
6262

6363
If strict isolation of assets is required, we recommend either salting with a random value each time, or incorporating an end-user identifier (for example, account ID or Worker script ID) within the hashing process, to ensure uniqueness. For example, `hash = slice(sha256(accountID + fileContents), 32)`.
64-
65-
</Aside>
64+
:::
6665

6766
#### Example manifest (JSON)
6867

@@ -134,9 +133,9 @@ If the response to the Upload Session API returns `buckets`, that means you have
134133

135134
Use the [Workers Assets Upload API](/api/resources/workers/subresources/assets/subresources/upload/) to transmit the raw file bytes in base64-encoded format for any missing or changed files. Once uploaded, Cloudflare will store these files so they can then be attached to a User Worker.
136135

137-
<Aside type="caution">
138-
Asset uniqueness is determined by the provided hash and are associated globally to their namespace rather than with each specific User Worker. If an asset has already been uploaded for that namespace earlier, Cloudflare will automatically omit sending this asset hash back in the `buckets` response to save you from re-uploading the same thing twice. This means that an asset can be shared between multiple User Workers if it shares the same hash unless you **explicitly make the hash unique**. If you require full isolation between assets across User Workers, incorporate a unique identifier within your asset hashing process (either salting it with something entirely random each time, or by including the end-user account ID or their Worker name to retain per-customer re-use).
139-
</Aside>
136+
:::caution
137+
Asset uniqueness is determined by the provided hash and are associated globally to their namespace rather than with each specific User Worker. If an asset has already been uploaded for that namespace earlier, Cloudflare will automatically omit sending this asset hash back in the `buckets` response to save you from re-uploading the same thing twice. This means that an asset can be shared between multiple User Workers if it shares the same hash unless you **explicitly make the hash unique**. If you require full isolation between assets across User Workers, incorporate a unique identifier within your asset hashing process (either salting it with something entirely random each time, or by including the end-user account ID or their Worker name to retain per-customer re-use).
138+
:::
140139

141140
#### API Request Authentication
142141

src/content/docs/cloudflare-one/applications/configure-apps/index.mdx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,6 @@ You can protect the following types of web applications:
2020
- [**Public hostname applications**](/cloudflare-one/applications/configure-apps/self-hosted-public-app/) are web applications that have public DNS records. Anyone on the Internet can access the application by entering the URL in their browser and authenticating through Cloudflare Access. Securing access to a public website requires a Cloudflare DNS [full setup](/dns/zone-setups/full-setup/) or [partial CNAME setup](/dns/zone-setups/partial-setup/).
2121
- [**Private network applications**](/cloudflare-one/applications/non-http/self-hosted-private-app/) do not have public DNS records, meaning they are not reachable from the public Internet. To connect using a private IP or private hostname, the user's traffic must route through Cloudflare Gateway. The preferred method is to install the WARP client on the user's device, but you could also forward device traffic from a [network location](/magic-wan/) or use an agentless option such as [PAC files](/cloudflare-one/connections/connect-devices/agentless/pac-files/) or [Clientless Web Isolation](/cloudflare-one/policies/browser-isolation/setup/clientless-browser-isolation/).
2222

23+
- [**Model Context Protocol (MCP) servers**](/cloudflare-one/applications/configure-apps/mcp-servers/) are web applications that enable generative AI tools to read and write data within your business applications. For example, Salesforce provides an [MCP server](https://github.com/salesforcecli/mcp) for developers to interact with resources in their Salesforce tenant using GitHub Copilot or other AI code editors.
24+
2325
- [**Cloudflare Dashboard SSO**](/cloudflare-one/applications/configure-apps/dash-sso-apps/) is a special type of SaaS application that manages SSO settings for the Cloudflare dashboard and has limited permissions for administrator edits.
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
pcx_content_type: navigation
3+
title: MCP servers
4+
sidebar:
5+
order: 3
6+
group:
7+
hideIndex: true
8+
---
9+
10+
import { DirectoryListing } from "~/components";
11+
12+
<DirectoryListing />

0 commit comments

Comments
 (0)