Fix stale v4.0.3-4.3.3 <-> v5.0.0-13.2.4 mapping#3373
Open
Sofeso wants to merge 1 commit into
Open
Conversation
The v4.0.3<->v5.0.0 mapping files claimed v4.0.3-4.3.3 (step-up auth /
approval for changing credential or connection-parameter config) was
'MOVED TO'/'MOVED FROM' v5.0.0-13.2.4. That's no longer true: 13.2.4's
current text ('Verify that an allowlist is used to define the external
resources or systems with which the application is permitted to
communicate...') is unrelated to 4.3.3's topic.
Verified independently:
- 4.0/en/0x20-V12-Files-Resources.md V12.6.1 text matches current
v5.0.0 13.2.5 almost word-for-word (server-layer allowlist),
consistent with 13.2.5's own mapping tag 'MOVED FROM v4.0.3-12.6.1'.
- No V4.0.3 requirement anywhere matches 13.2.4's actual text
(app-layer allowlist for outbound communication) - it has no v4.0.3
lineage at all.
- The intermediate bleeding-edge mapping files (mapping_v4.0.3_to_v5.0.be.yml,
mapping_v5.0.be_to_v4.0.3.yml) correctly show v4.0.3-4.3.3 ->
v5.0.be-14.7.3, and mapping_v5.0.be_to_v5.0.0.yml correctly renumbers
v5.0.be-14.7.3 -> v5.0.0-13.2.4. That renumbering was accurate at the
time; it's the later v5.0.0 restructuring where 13.2.4's *content*
(not just its ID) was overwritten by unrelated 12.6.1-derived text
that same day 13.2.5 was created, per the commit history laid out in
OWASP#3344. So only the final v4.0.3<->v5.0.0 mapping files are stale -
the 'be' intermediate files still accurately describe that stage.
Changed:
- v4.0.3-4.3.3: MOVED TO v5.0.0-13.2.4 -> DELETED
- v5.0.0-13.2.4: MODIFIED, MOVED FROM v4.0.3-4.3.3 -> ADDED
This only corrects the mapping bookkeeping to match what the standard's
text actually says today. It intentionally does NOT touch any
requirement text, and does not decide the separate policy question
OWASP#3344 raises (whether the lost 4.3.3-derived control should be
restored) - that's for maintainers to decide, so this does not close
OWASP#3344 on its own.
Related to OWASP#3344
Collaborator
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Related to #3344 (does not close it — see "Scope" below).
Problem
mapping_v5.0.0_to_v4.0.3.ymlandmapping_v4.0.3_to_v5.0.0.ymlboth claimv5.0.0-13.2.4is a modified/moved version ofv4.0.3-4.3.3. That's no longer accurate:v4.0.3-4.3.3was about requiring step-up auth / multi-user approval before changing credential or connection-parameter configuration for database/service integrations.v5.0.0-13.2.4reads: "Verify that an allowlist is used to define the external resources or systems with which the application is permitted to communicate..." — a completely different topic (application-layer allowlisting, the counterpart to 13.2.5's server-layer allowlisting).Independent verification
I re-derived the facts in #3344 myself rather than taking the issue at face value:
4.0/en/0x20-V12-Files-Resources.mdV12.6.1 ("Verify that the web or application server is configured with an allow list of resources or systems to which the server can send requests or load data/files from.") matches current V13.2.5 almost word-for-word — consistent with 13.2.5's own tag (GRAMMAR, MOVED FROM v4.0.3-12.6.1).4.0/en/*.mdfor wording resembling 13.2.4's actual text (allowlist + external + communicate) — no match anywhere. It's genuinely new content in v5.0.0, not a "modified" version of anything.mapping_v4.0.3_to_v5.0.be.yml,mapping_v5.0.be_to_v4.0.3.yml) correctly showv4.0.3-4.3.3 -> v5.0.be-14.7.3, andmapping_v5.0.be_to_v5.0.0.ymlcorrectly renumbersv5.0.be-14.7.3 -> v5.0.0-13.2.4. That renumbering was accurate at the time. It's only the two finalv4.0.3<->v5.0.0mapping files that are stale, because — per the commit history V4.3.3-derived requirement accidentally deleted, mapping is stale #3344 lays out —13.2.4's text (not its ID) was later overwritten by unrelated 12.6.1-derived content. So I only touched those two files; the "be" intermediate mappings still correctly describe history and don't need changes.Change
Scope — what this PR intentionally does NOT do
#3344 also asks whether the lost 4.3.3-derived control (step-up auth for credential/connection config changes) should be restored as a new requirement. That's a substantive content/policy decision for ASVS maintainers, not something I'm deciding via this PR. This PR only fixes the factual bookkeeping error so the mapping accurately reflects what the standard says today. I've left #3344 open rather than marking it closed, since that question is still unresolved.
Disclosure
I used AI assistance (Claude) to investigate this issue and draft the fix, including independently re-verifying the git-archaeology claims in #3344 against the actual file contents rather than trusting them directly. I reviewed the evidence and take responsibility for the change.