/** * @name Cookie security: overly broad domain * @description Finds cookies with an overly broad domain. * @kind problem * @problem.severity warning * @precision high * @id cs/web/broad-cookie-domain * @tags security * external/cwe/cwe-287 */ import csharp from Assignment a, PropertyAccess pa where a.getLValue() = pa and pa.getTarget().hasName("Domain") and pa.getTarget().getDeclaringType().hasQualifiedName("System.Web", "HttpCookie") and ( a.getRValue().getValue().regexpReplaceAll("[^.]", "").length() < 2 or a.getRValue().getValue().matches(".%") ) select a, "Overly broad domain for cookie."