Skip to content

Commit a477a9d

Browse files
committed
add remaining updates for review
1 parent 93e91c6 commit a477a9d

1 file changed

Lines changed: 9 additions & 9 deletions

File tree

src/content/en/2025/security.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1490,7 +1490,7 @@ The two leading industries in terms of security headers happen to be industries
14901490

14911491
## Malpractices on the web
14921492

1493-
Cryptocurrencies are more popular than they have ever been. Cryptomining has been a large business for a number of years and adversaries have been known to install cryptominers as a form of malware on victim websites. Over the past years, the use of cryptominers on the web has been steadily declining, just like it has been over the past year.
1493+
Cryptocurrencies are more popular than they have ever been. Cryptomining has been a large business for a number of years and adversaries have been known to install cryptominers as a form of malware on victim websites. Over the past years, the use of cryptominers on the web has been steadily declining.
14941494

14951495
{{ figure_markup(
14961496
image="cryptominers-trend.png",
@@ -1502,7 +1502,7 @@ Cryptocurrencies are more popular than they have ever been. Cryptomining has bee
15021502
)
15031503
}}
15041504

1505-
We see the number of pages with cryptominers decrease to only 37 pages on mobile, a 42% decline [since last year](../2024/security#fig-47). It is also a 83% decline since September 2022, only three years earlier.
1505+
We see the number of pages with cryptominers decreased to only 37 pages on mobile, a 42% decline [since last year](../2024/security#fig-47). It is also a 83% decline since September 2022, only three years earlier.
15061506

15071507
{{ figure_markup(
15081508
image="cryptominers-market-share.png",
@@ -1522,7 +1522,7 @@ While there are many security mechanisms available on the web and in browsers, i
15221522

15231523
### Unsupported policies in `<meta>`
15241524

1525-
When configuring security policies, it is important that developers understand how they have to define the policy. Some policies can be defined through both a header and the HTML `<meta>` tag. However, many policies can not be defined through `<meta>`. Developers sometimes make the mistake of trying to configure these policies through the `<meta>` tag anyway. Unfortunately browsers will ignore these policies, resulting in inactive security policies.
1525+
When configuring security policies, it is important that developers understand how they have to define the policy. Some policies can be defined through both a header and the HTML `<meta>` tag. However, many policies cannot be defined through `<meta>`. Developers sometimes make the mistake of trying to configure these policies through the `<meta>` tag anyway. Unfortunately browsers will ignore these policies, resulting in inactive security policies.
15261526

15271527
<figure>
15281528
<table>
@@ -1568,7 +1568,7 @@ We find that around 0.11% of mobile sites attempt to set security headers that b
15681568

15691569
### Unsupported CSP directives in `<meta>`
15701570

1571-
While CSP *can* be configured via `<meta>` tags and this behaviour has been observed on 0.59% of mobile pages, certain CSP directives are explicitly disallowed in meta implementations and will be ignored by browsers. These directives can only be set by using the `Content-Security-Policy` response header.
1571+
While CSP *can* be configured via `<meta>` tags and this behaviour has been observed on 0.59% of mobile pages, certain CSP directives are explicitly disallowed in `<meta>` tag implementations and will be ignored by browsers. These directives can only be set by using the `Content-Security-Policy` response header.
15721572

15731573
<figure>
15741574
<table>
@@ -1595,7 +1595,7 @@ While CSP *can* be configured via `<meta>` tags and this behaviour has been obse
15951595
<figcaption>{{ figure_link(caption="Percentage of CSP policies defined in `<meta>` with disallowed directives", sheets_gid="1969221363", sql_file="meta_csp_disallowed_directives.sql") }}</figcaption>
15961596
</figure>
15971597

1598-
We find that over 2% of mobile pages setting a CSP policy via a `<meta>` tag include the `frame-ancestors` directive and 0.003% include the `sandbox` directive. The latter boils down to only three pages out of the entire crawled dataset. Compared to last edition the misconfiguration of `frame-ancestors` shows up on 600 more pages, thereby rising by over 0.8%. This represents a slow but negative evolution for these types of misconfigurations.
1598+
We find that over 2% of mobile pages setting a CSP policy via a `<meta>` tag include the `frame-ancestors` directive and 0.003% include the `sandbox` directive. The latter boils down to only three pages out of the entire crawled dataset. Compared to last edition, the misconfiguration of `frame-ancestors` shows up on 600 more pages, thereby rising by over 0.8%. This represents a slow but negative evolution for these types of misconfigurations.
15991599

16001600
### COOP/COEP/CORP confusion
16011601

@@ -1760,7 +1760,7 @@ The `Server-Timing` HTTP header is a response header defined in a <a hreflang="e
17601760
)
17611761
}}
17621762

1763-
The percentage of hosts returning a `server-timing` header has increased by over 15% to being in use by over a fifth of hosts that have been visited by the crawler. This is a very steep increase since [last year](../2024/security#missing-suppression-of-server-timing-header).
1763+
The percentage of hosts returning a `server-timing` header has increased by over 15% in use by over a fifth of hosts that have been visited by the crawler. This is a very steep increase since [last year](../2024/security#missing-suppression-of-server-timing-header).
17641764

17651765
{{ figure_markup(
17661766
image="server-timing-header-dur-property.png",
@@ -1773,7 +1773,7 @@ The percentage of hosts returning a `server-timing` header has increased by over
17731773

17741774
Of the `server-timing` headers on the web, we find 42% of them have at least one `dur` property. This is a relative decrease compared to [last year](../2024/security#fig-53), but given the steep incline in header use over the year, the absolute number has risen. This also means that more headers do not include a `dur` property and use the header for other purposes, possibly through the use of the `desc` property that allows developers to set a description for certain metrics.
17751775

1776-
Because the information included in the `server-timing` header can be sensitive, access to the values is restricted to the same origin and to origins listed in the `Timing-Allow-Origin`. As we have shown above, many websites configure the `Timing-Allow-Origin` with a wildcard character, allowing all origins to access this potentially sensitive information. Even without cross-origin access, timing attacks can still be executed directly against servers exposing sensitive timing information outside of the browser context.
1776+
Because the information included in the `server-timing` header can be sensitive, access to the values is restricted to the same origin and to origins listed in the `Timing-Allow-Origin` header. As we have shown above, many websites configure the `Timing-Allow-Origin` with a wildcard character, allowing all origins to access this potentially sensitive information. Even without cross-origin access, timing attacks can still be executed directly against servers exposing sensitive timing information outside of the browser context.
17771777

17781778
## Well-known URIs
17791779

@@ -1829,7 +1829,7 @@ The <a hreflang="en" href="https://w3c.github.io/webappsec-change-password-url/r
18291829
)
18301830
}}
18311831

1832-
We find similar results to [2022's](../2022/security#change-password) and [2024's](../2024/security#change-password) edition of the Web Almanac. However, the number of faulty ok status responses has grown slightly, from 84% in 2024 for both desktop and mobile pages to 83% and 84%, respectively. Web developers should continue to make their application use the correct status codes to respond to incoming requests in order to avoid that the status codes lose meaning.
1832+
We find similar results to [2022's](../2022/security#change-password) and [2024's](../2024/security#change-password) edition of the Web Almanac. However, the number of faulty ok status responses has grown slightly, from 84% in 2024 for both desktop and mobile pages to 83% and 84%, respectively. Web developers should continue to make their application use the correct status codes to respond to incoming requests in order to avoid these status codes from losing meaning.
18331833

18341834
### Sensitive endpoints in `robots.txt`
18351835

@@ -1853,4 +1853,4 @@ This security chapter shows positive trends in the adoption of web security poli
18531853

18541854
Despite these positive trends, developers must remain vigilant when leveraging these security mechanisms. Due to the growing complexity of the many available security mechanisms, we saw growth in the number of misconfigurations on the web. We saw that 0.1% of pages configure security policies in the `<meta>` HTML tag while this is not supported by browsers. Another problem is the confusion between related protections: 5% of values of the COEP header are invalid values that are only valid in the related CORP or COOP header. We also observe a form of developer fatigue where the least strict value of a protection is configured in order to make deployment more manageable or prevent potential problems, such as the wildcard value in the `Timing-Allow-Origin` header showing up in over 84% of these headers. Luckily, developers can easily mitigate these issues once they are aware of the problems.
18551855

1856-
New attacks in the future will inevitably drive the design of even more protection mechanisms to protect users worldwide. Policy makers will have to focus on reducing complexity in these new mechanisms to avoid developer confusion, but while the adoption of new security features takes time, we see relatively new policies being picked up and getting more adoption over time, thereby creating a more secure web for everyone.
1856+
New attacks in the future will inevitably drive the design of even more protection mechanisms to keep users safe worldwide. Policy makers will have to focus on reducing complexity in these new mechanisms to avoid developer confusion, but while the adoption of new security features takes time, we see relatively new policies being picked up and getting more adoption over time, thereby creating a more secure web for everyone.

0 commit comments

Comments
 (0)