You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Note that almost all of these are moot, because anyone with access to the Scrapyd API can use addversion.json and schedule.json to run arbitrary Python code, with the same privileges as the Scrapyd process. Nonetheless:
858c408 Sanitize project name in both API Sanitize project name #421 and egg storage, to prevent FilesystemEggStorage from writing (1) or deleting (3) arbitrary paths
848fc18 HTML escape user-provided values on the Home (5) and Jobs (6) views, to prevent XSS (including project, spider, job ID).
d346503 Escape user-provided glob (project parameter) in both listversions.json and/or egg storage, to prevent listing files at arbitrary paths (2).
b80dfc8 Sanitize project names, spider names and job IDs, to prevent writing logs and items to arbitrary directories (7).
(4) ("Executing python code when counting spiders") is not a vulnerability, because anyone with access to addversion.json also has access to schedule.json, and can therefore run the same, arbitrary Python code.
Among the other suggestions:
Scrapyd binds to localhost by default since 1.2.0.
It doesn't enable basic authentication by default, but the option is provided since 1.3.0.
The text was updated successfully, but these errors were encountered:
http://www.spect.cl/blog/2015/11/security-audit-scrapyd/ Parenthesized numbers are from blog post.
Note that almost all of these are moot, because anyone with access to the Scrapyd API can use addversion.json and schedule.json to run arbitrary Python code, with the same privileges as the Scrapyd process. Nonetheless:
FilesystemEggStorage
from writing (1) or deleting (3) arbitrary pathsproject
parameter) in both listversions.json and/or egg storage, to prevent listing files at arbitrary paths (2).(4) ("Executing python code when counting spiders") is not a vulnerability, because anyone with access to
addversion.json
also has access toschedule.json
, and can therefore run the same, arbitrary Python code.Among the other suggestions:
The text was updated successfully, but these errors were encountered: