Opened 15 years ago

Closed 5 years ago

#11919 closed New feature (duplicate)

dpaste.com feature in debug traceback view should be optional

Reported by: mike w Owned by: nobody
Component: Error reporting Version: dev
Severity: Normal Keywords:
Cc: Zach Borboa Triage Stage: Accepted
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: yes
Easy pickings: no UI/UX: no

Description

In the default debug stacktrace view, the "copy-and-paste view" includes a helpful form to submit the traceback to dpaste.com. When the (very large) form submit button is clicked, the full stack trace and environment is immediately posted to dpaste.com.

This feature poses security risk: a careless click can immediately publish a stack trace to third-party site, with no protection of the data in transit, and no access controls at the remote side. For individuals or organizations working on confidential projects, there is typically no interest in sharing any information externally.

It does require two clicks to cause such an accident (one to toggle copy-and-paste view, another to submit the form), making it unlikely to happen -- but we have had it happen, and at my organization we'd sleep far better with this feature disabled on all projects.

Suggestion 1: Make use of this pastebin an optional feature (patch attached).

Suggestion 2: Make this feature default disabled (flip bit in attached patch; default preserves existing behavior).

Suggestion 3: Make the pastebin form customizable, so that a provider other than dpaste may be used (for example, an internal pastebin.) I don't have much interest in this, so I've not attempted the larger change.

thanks.

Attachments (1)

django-dpaste-optional.diff (1.9 KB ) - added by mike w 15 years ago.
patch to add ENABLE_DPASTE setting

Download all attachments as: .zip

Change History (10)

by mike w, 15 years ago

Attachment: django-dpaste-optional.diff added

patch to add ENABLE_DPASTE setting

comment:1 by Russell Keith-Magee, 15 years ago

Patch needs improvement: set
Triage Stage: UnreviewedAccepted

I think your option 3 is a better approach. Accepting on that basis.

comment:2 by Julien Phalip, 14 years ago

Severity: Normal
Type: New feature

comment:3 by Aymeric Augustin, 13 years ago

UI/UX: unset

Change UI/UX from NULL to False.

comment:4 by Aymeric Augustin, 13 years ago

Easy pickings: unset

Change Easy pickings from NULL to False.

comment:5 by Zach Borboa, 10 years ago

Cc: Zach Borboa added

comment:6 by Berker Peksag, 10 years ago

Patch needs improvement: unset
Version: 1.1master

comment:7 by Tim Graham, 10 years ago

Patch needs improvement: set

Comments for improvement are on the PR.

comment:8 by Tim Graham, 9 years ago

Component: Core (Other)Error reporting

comment:9 by Carlton Gibson, 5 years ago

Resolution: duplicate
Status: newclosed

#30752 (Django 3.1) allows providing a custom ExceptionReporter sublcass. That will be the place to add the logic you need (overriding get_traceback_html() to use a customised template).

Note: See TracTickets for help on using tickets.
Back to Top