GithubHelp home page GithubHelp logo

clarifying 5.1.3 about asvs HOT 9 CLOSED

elarlang avatar elarlang commented on June 27, 2024
clarifying 5.1.3

from asvs.

Comments (9)

elarlang avatar elarlang commented on June 27, 2024 1

Thinking more about it, I think the word "list" is a bit misleading here - it kind of suggests to have a list of accepted values, but in reality, it also means patterns.

My proposal:
Verify that all input is validated using positive validation, using an allowed list of values or patterns.

Also, we need to change the CWE-20 "Improper Input Validation" as it's a class/folder and Vulnerability Mapping: DISCOURAGED

from asvs.

danielcuthbert avatar danielcuthbert commented on June 27, 2024

There's a lot to discuss here but in essence, I agree with your thoughts around moving it into an architecture requirement (because fundamentally it is right, you have to know what you expect and what is known good before you design the feature/function)

I'd see 5.1.3 reading something like

Verify that all input is validated using positive validation (allow lists).

I'm not a fan of specifically calling out HTML here, that is 100% sanitisation and doesn't belong in this and should be elsewhere

from asvs.

tghosth avatar tghosth commented on June 27, 2024

I agree with @danielcuthbert and but I would expand this requirement slightly as we are seeing it was an architectural requirement.

Verify that the application is designed with a centralized input validation capability based on the documented rules which uses positive validation (allow lists).

from asvs.

elarlang avatar elarlang commented on June 27, 2024

Oh please no.

  • centralized - it is a completely different requirement and removes focus away from the goal
  • documentation in implementation requirement, it must be covered in 1.5.1 (#1552 (comment))

The only point it should carry is the allow-list vs deny-list validation.

from asvs.

jmanico avatar jmanico commented on June 27, 2024

from asvs.

tghosth avatar tghosth commented on June 27, 2024

Thinking more about it, I think the word "list" is a bit misleading here - it kind of suggests to have a list of accepted values, but in reality, it also means patterns.

My proposal: Verify that all input is validated using positive validation, using an allowed list of values or patterns.

Also, we need to change the CWE-20 "Improper Input Validation" as it's a class/folder and Vulnerability Mapping: DISCOURAGED

ok I can accept the wording @elarlang

I wouldn't bother with a CWE for now.

Are we moving this to 5.6?

from asvs.

elarlang avatar elarlang commented on June 27, 2024

My idea to move it to 5.6 was with a "precondition" to combine the allow-list attitude with sanitiation and then it's over two-chapter requirement and fits to 5.6.

But at the moment it's clearly input validation. For me both solutions are ok.

from asvs.

tghosth avatar tghosth commented on June 27, 2024

Ok so I think we leave it where it is for now

from asvs.

tghosth avatar tghosth commented on June 27, 2024

@elarlang I added some info to the explanatory text at the beginning. What do you think?

Changes:
4644b8e

from asvs.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.