---
title: "Django 1.5.3 versionsinformation"
version: 6.1
locale: sv
source: https://docs.djangoproject.com/sv/6.1/releases/1.5.3/
canonical: https://djangodocs.dev/sv/6.1/releases/1.5.3/
---
# Django 1.5.3 versionsinformation

*10 september 2013*

Detta är Django 1.5.3, den tredje utgåvan i Django 1.5-serien. Den adresserar ett säkerhetsproblem och innehåller också en opt-in-funktion för att förbättra säkerheten för [`django.contrib.sessions`](/sv/6.1/topics/http/sessions/#module-django.contrib.sessions).

## Sårbarhet för katalogtraversering i `ssi` malltagg

I tidigare versioner av Django var det möjligt att kringgå inställningen `ALLOWED_INCLUDE_ROOTS` som används för säkerhet med malltaggen `ssi` genom att ange en relativ sökväg som börjar med en av de tillåtna rötterna. Till exempel, om `ALLOWED_INCLUDE_ROOTS = ("/var/www",)` skulle följande vara möjligt:

```html+django
{% ssi "/var/www/../../etc/passwd" %}
```

I praktiken är detta inte ett särskilt vanligt problem, eftersom det skulle kräva att mallförfattaren placerar `ssi`-filen i en användarkontrollerad variabel, men det är möjligt i princip.

## Minskar en sårbarhet för exekvering av fjärrkod i [`django.contrib.sessions`](/sv/6.1/topics/http/sessions/#module-django.contrib.sessions)

[`django.contrib.sessions`](/sv/6.1/topics/http/sessions/#module-django.contrib.sessions) använder för närvarande [`pickle`](https://docs.python.org/3/library/pickle.html#module-pickle) för att serialisera sessionsdata innan den lagras i backend. Om du använder [signed cookie session backend](/sv/6.1/topics/http/sessions/#cookie-session-backend) och [`SECRET_KEY`](/sv/6.1/ref/settings/#std-setting-SECRET_KEY) är känd av en angripare (det finns inte en inneboende sårbarhet i Django som skulle göra att den läcker), kan angriparen infoga en sträng i sessionen som, när den avplockas, exekverar godtycklig kod på servern. Tekniken för att göra detta är enkel och lätt tillgänglig på internet. Även om cookie-sessionslagringen signerar de cookie-lagrade uppgifterna för att förhindra manipulering, eskalerar en [`SECRET_KEY`](/sv/6.1/ref/settings/#std-setting-SECRET_KEY)-läcka omedelbart till en sårbarhet för fjärrkörning av kod.

Denna attack kan motverkas genom att serialisera sessionsdata med JSON istället för [`pickle`](https://docs.python.org/3/library/pickle.html#module-pickle). För att underlätta detta introducerar Django 1.5.3 en ny inställning, [`SESSION_SERIALIZER`](/sv/6.1/ref/settings/#std-setting-SESSION_SERIALIZER), för att anpassa sessionens serialiseringsformat. För bakåtkompatibilitet är standardinställningen att använda [`pickle`](https://docs.python.org/3/library/pickle.html#module-pickle). Även om JSON-serialisering inte stöder alla Python-objekt som [`pickle`](https://docs.python.org/3/library/pickle.html#module-pickle) gör, rekommenderar vi starkt att du byter till JSON-serialiserade värden. Eftersom JSON kräver strängnycklar kommer du sannolikt att stöta på problem om du använder nycklar som inte är strängar i `request.session`. Se [Serialisering av session](/sv/6.1/topics/http/sessions/#session-serialization)-dokumentationen för mer information.
