Opened 14 years ago
Last modified 9 years ago
#9981 new defect
[PATCH] SQL injection vulnerability patch for TracDownloads
| Reported by: | Aleksi Hanninen | Owned by: | |
|---|---|---|---|
| Priority: | normal | Component: | DownloadsPlugin |
| Severity: | normal | Keywords: | |
| Cc: | Trac Release: | 0.12 |
Description
There is a SQL injection vulnerability in the Trac Downloads plugin.
Two patches are provided as attached:
- tracdownloads_sql_injection_vulnerability.patch
- tracdownloads_patch_complete.patch
Use the first "sql injection vulnerability" patch to fix the vulnerability. The patch also introduces fix in the download link resolver (link generation for download files in wiki context) by file.
A more complete, but unfortunately largely untested, "complete" patch contains the first "sql injection vulnerability" patch and also introduces other fixes, like:
- Editing just the description of the downloads won't crash. (If editing just the description of the downloads, you shouldn't expect any file to be uploaded)
- Since components should not use self.*, add a dict req_data and use that instead. This improves the security of concurrency.
Unfortunately, I haven't been able to test this with Vanilla trac, and I give no guarantees whatsoever. However, the first patch should work without problems.
My environment consists of Apache, Linux, Python 2.6, and Trac 0.12.1.
Attachments (2)
Change History (7)
Changed 14 years ago by
| Attachment: | tracdownloads_sql_injection_vulnerability.patch added |
|---|
Changed 14 years ago by
| Attachment: | tracdownloads_patch_complete.patch added |
|---|
comment:1 Changed 14 years ago by
comment:2 Changed 12 years ago by
| Owner: | changed from Radek Bartoň to Ryan J Ollos |
|---|---|
| Status: | new → assigned |
comment:4 Changed 9 years ago by
| Status: | assigned → accepted |
|---|
comment:5 Changed 9 years ago by
| Owner: | Ryan J Ollos deleted |
|---|---|
| Status: | accepted → new |



I also changed import * to more specific versions and fixed some CSRF vulnerabilities in the "complete" patch.