<?xml version="1.0"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>CKAN: Ticket #120: Security audit</title>
    <link>http://localhost/ticket/120</link>
    <description>&lt;p&gt;
Look for all places where model is accessed and check authorization is checked.
&lt;/p&gt;
&lt;p&gt;
Document holes (and, as necessary, suggestions for fixes) as new tickets. Likely areas that need looking at:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;search i/f
&lt;/li&gt;&lt;li&gt;package WUI commit
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
Write holes are obviously much more significant to us than read holes.
&lt;/p&gt;
</description>
    <language>en-us</language>
    <image>
      <title>CKAN</title>
      <url>http://assets.okfn.org/p/ckan/img/ckan_logo_shortname.png</url>
      <link>http://localhost/ticket/120</link>
    </image>
    <generator>Trac 0.12.3</generator>
    <item>
      
        <dc:creator>rgrp</dc:creator>

      <pubDate>Mon, 28 Sep 2009 09:31:43 GMT</pubDate>
      <title>description changed</title>
      <link>http://localhost/ticket/120#comment:1</link>
      <guid isPermaLink="false">http://localhost/ticket/120#comment:1</guid>
      <description>
          &lt;ul&gt;
            &lt;li&gt;&lt;strong&gt;description&lt;/strong&gt;
              modified (&lt;a href="/ticket/120?action=diff&amp;amp;version=1"&gt;diff&lt;/a&gt;)
            &lt;/li&gt;
          &lt;/ul&gt;
      </description>
      <category>Ticket</category>
    </item><item>
      
        <dc:creator>dread</dc:creator>

      <pubDate>Thu, 01 Oct 2009 14:15:44 GMT</pubDate>
      <title>status changed; resolution set</title>
      <link>http://localhost/ticket/120#comment:2</link>
      <guid isPermaLink="false">http://localhost/ticket/120#comment:2</guid>
      <description>
          &lt;ul&gt;
            &lt;li&gt;&lt;strong&gt;status&lt;/strong&gt;
                changed from &lt;em&gt;new&lt;/em&gt; to &lt;em&gt;closed&lt;/em&gt;
            &lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;resolution&lt;/strong&gt;
                set to &lt;em&gt;fixed&lt;/em&gt;
            &lt;/li&gt;
          &lt;/ul&gt;
        &lt;p&gt;
Found two security holes, both only in READ access (not write). Tickets raised for holes:
&lt;a class="closed ticket" href="http://localhost/ticket/132" title="defect: Security hole - read package/group list (REST) (closed: fixed)"&gt;ticket:132&lt;/a&gt; - REST listing packages &amp;amp; groups
&lt;a class="closed ticket" href="http://localhost/ticket/133" title="defect: Security hole - search package/group (WUI &amp;amp; REST) (closed: fixed)"&gt;ticket:133&lt;/a&gt; - search package/group (WUI &amp;amp; REST)
&lt;/p&gt;
&lt;p&gt;
Full details of files checked:
$ find . -name "*.py" | xargs grep "import ckan.model"
./ckan/presentation.py:import ckan.model as model REMOVED - unused
./ckan/tests/functional/test_group_edit_authz.py:import ckan.model as model - not runtime
./ckan/tests/functional/test_rest.py:import ckan.model as model - not runtime
./ckan/tests/functional/test_package.py:import ckan.model as model - not runtime
./ckan/tests/functional/test_user.py:import ckan.model as model - not runtime
./ckan/tests/functional/test_tag.py:import ckan.model as model - not runtime
./ckan/tests/functional/test_group.py:import ckan.model as model - not runtime
./ckan/tests/functional/test_package_edit_authz.py:import ckan.model as model - not runtime
./ckan/tests/functional/test_revision.py:import ckan.model as model - not runtime
./ckan/tests/functional/test_authz.py:import ckan.model as model - not runtime
./ckan/tests/test_search.py:import ckan.model as model - not runtime
./ckan/tests/models/test_package.py:import ckan.model as model - not runtime
./ckan/tests/models/test_user.py:import ckan.model as model - not runtime
./ckan/tests/models/test_group.py:import ckan.model as model - not runtime
./ckan/tests/models/test_extras.py:import ckan.model as model - not runtime
./ckan/tests/models/test_misc.py:import ckan.model as model - not runtime
./ckan/tests/models/test_authz.py:import ckan.model as model - not runtime
./ckan/tests/forms/test_package.py:import ckan.model as model - not runtime
./ckan/tests/forms/test_group.py:import ckan.model as model - not runtime
./ckan/tests/forms/test_authz.py:import ckan.model as model - not runtime
./ckan/tests/test_converter.py:import ckan.model as model - not runtime
./ckan/tests/getdata/test_data4nr.py:import ckan.model as model - not runtime
./ckan/tests/&lt;span class="underline"&gt;init__.py:import ckan.model as model - not runtime
./ckan/tests/test_authz.py:import ckan.model as model - not runtime
./ckan/tests/test_purge_revision.py:import ckan.model as model - not runtime
./ckan/forms/common.py:import ckan.model as model - just validator
./ckan/forms/package.py:import ckan.model as model - validator &amp;amp; package edits
./ckan/forms/group.py:import ckan.model as model - validate &amp;amp; package, wui &amp;amp; rest edits
./ckan/forms/authz.py:import ckan.model as model - package &amp;amp; group wui/rest
./ckan/controllers/rest.py:import ckan.model as model - HOLE &lt;a class="closed ticket" href="http://localhost/ticket/132" title="defect: Security hole - read package/group list (REST) (closed: fixed)"&gt;ticket:132&lt;/a&gt; - REST listing packages &amp;amp; groups
./ckan/controllers/base.py:import ckan.model as model - paginate filters out deleted ones
./ckan/migration/versions/005_add_authorization_tables.py:import ckan.model as model - not runtime
./ckan/getdata/data4nr.py:import ckan.model as model - not runtime
./ckan/lib/search.py:import ckan.model as model - HOLE &lt;a class="closed ticket" href="http://localhost/ticket/133" title="defect: Security hole - search package/group (WUI &amp;amp; REST) (closed: fixed)"&gt;ticket:133&lt;/a&gt; - search package/group (WUI &amp;amp; REST)
./ckan/lib/cli.py:            import ckan.model as model - not runtime
./ckan/lib/cli.py:            import ckan.model as model - not runtime
./ckan/lib/cli.py:            import ckan.model as model - not runtime
./ckan/lib/cli.py:        import ckan.model as model - not runtime
./ckan/lib/cli.py:        import ckan.model as model - not runtime
./ckan/lib/cli.py:        import ckan.model as model - not runtime
./ckan/lib/cli.py:        import ckan.model as model - not runtime
./ckan/lib/converter.py:import ckan.model - dumper, not runtime
./ckan/lib/base.py:import ckan.model as model - just a remove
./ckan/authz.py:import ckan.model as model - only gets roles
./bin/ckan_spam.py:import ckan.models as model - not runtime
./bin/ckan-correct.py:import ckan.models - not runtime
./test_migrate.py:import ckan.model as model - not runtime
&lt;/span&gt;&lt;/p&gt;
      </description>
      <category>Ticket</category>
    </item>
 </channel>
</rss>