Mitigate JSONP callback vulnerabilities
commit209b0b6edad0c18a2ea14eac83c6c4787264aa63
authorLukas Fleischer <lfleischer@archlinux.org>
Sat, 12 Sep 2015 08:04:43 +0000 (12 10:04 +0200)
committerLukas Fleischer <lfleischer@archlinux.org>
Sat, 12 Sep 2015 08:20:03 +0000 (12 10:20 +0200)
treed849a9e09d18d5e5cc20e3374857b51acaefb05c
parentee9a8f232b960c5bfad7376f129710d19871edcc
Mitigate JSONP callback vulnerabilities

The callback parameter of the RPC interface currently allows for
specifying a prefix of arbitrary length of the returned result. This can
be exploited by certain attacks.

As a countermeasure, this patch restricts the allowed character set for
the callback name to letters, digits, underscores, parenthesis and dots.
It also limits the length of the name to 128 characters. Furthermore,
the reflected callback name is now always prepended with "/**/", which
is a common workaround to protect against attacks such as Rosetta Flash.

Fixes FS#46259.

Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
web/lib/aurjson.class.php