sqlite: add security patches
PATCH 1/1 sqlite: add security patches
CVE-2017-13685: The dump_callback function in SQLite 3.20.0 allows remote attackers to cause a denial of service (EXC_BAD_ACCESS and application crash) via a crafted file.
CVE-2017-15286: SQLite 3.20.1 has a NULL pointer dereference in tableColumnList in shell.c
because it fails to consider certain cases where sqlite3_step(pStmt)==SQLITE_ROW is false and a data structure is never initialized.
--- package/sqlite/0001-CVE-2017-13685.patch | 54 ++++++++++++++++++++++++++++++++ package/sqlite/0002-CVE-2017-15286.patch | 28 +++++++++++++++++ 2 files changed, 82 insertions(+) create mode 100644 package/sqlite/0001-CVE-2017-13685.patch create mode 100644 package/sqlite/0002-CVE-2017-15286.patch
package/sqlite/0001-CVE-2017-13685.patch new file +54 -0
@@ -0,0 +1,54 @@ +Fix CVE-2017-13685 + +The dump_callback function in SQLite 3.20.0 allows remote attackers to cause a +denial of service (EXC_BAD_ACCESS and application crash) via a crafted file. + +Patch taken from Debian: +https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=873762 + +Upstream issue: https://sqlite.org/src/info/02f0f4c54f2819b3 + +Signed-off-by: Baruch Siach <[email protected]> + +Index: src/shell.c +================================================================== +--- src/shell.c ++++ src/shell.c +@@ -2657,10 +2657,11 @@ + int *aiType /* Column types */ + ){ + int i; + ShellState *p = (ShellState*)pArg; + ++ if( azArg==0 ) return 0; + switch( p->cMode ){ + case MODE_Line: { + int w = 5; + if( azArg==0 ) break; + for(i=0; i<nArg; i++){ +@@ -3007,10 +3008,11 @@ + */ + static int captureOutputCallback(void *pArg, int nArg, char **azArg, char **az){ + ShellText *p = (ShellText*)pArg; + int i; + UNUSED_PARAMETER(az); ++ if( azArg==0 ) return 0; + if( p->n ) appendText(p, "|", 0); + for(i=0; i<nArg; i++){ + if( i ) appendText(p, ",", 0); + if( azArg[i] ) appendText(p, azArg[i], 0); + } +@@ -3888,11 +3890,11 @@ + const char *zType; + const char *zSql; + ShellState *p = (ShellState *)pArg; + + UNUSED_PARAMETER(azNotUsed); +- if( nArg!=3 ) return 1; ++ if( nArg!=3 || azArg==0 ) return 0; + zTable = azArg[0]; + zType = azArg[1]; + zSql = azArg[2]; + + if( strcmp(zTable, "sqlite_sequence")==0 ){ +
package/sqlite/0002-CVE-2017-15286.patch new file +28 -0
@@ -0,0 +1,28 @@ +Fix CVE-2017-15286 + +SQLite 3.20.1 has a NULL pointer dereference in tableColumnList in shell.c +because it fails to consider certain cases where +`sqlite3_step(pStmt)==SQLITE_ROW` is false and a data structure is never +initialized. + +https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=878680 + +Upstream commit: http://www.sqlite.org/src/info/5d0ceb8dcdef92cd + +Index: src/shell.c +================================================================== +--- src/shell.c ++++ src/shell.c +@@ -3807,10 +3807,11 @@ + isIPK = 0; + } + } + } + sqlite3_finalize(pStmt); ++ if( azCol==0 ) return 0; + azCol[0] = 0; + azCol[nCol+1] = 0; + + /* The decision of whether or not a rowid really needs to be preserved + ** is tricky. We never need to preserve a rowid for a WITHOUT ROWID table +
Signature · 1 line
2.14.2
PATCH 1/1 sqlite: add security patches
Quoted 11 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Baruch" == Baruch Siach <[email protected]> writes:
CVE-2017-13685: The
dump_callbackfunction in SQLite 3.20.0 allows remote attackers to cause a denial of service (EXC_BAD_ACCESSand application crash) via a crafted file.CVE-2017-15286: SQLite 3.20.1 has a NULL pointer dereference in tableColumnList in
shell.c
because it fails to consider certain cases wheresqlite3_step(pStmt)==SQLITE_ROWis false and a data structure is never initialized.
Do you know if this also applies to 2017.08.x (3.19.3) or 2017.02.x (3.16.2)?
Signature · 1 line
Bye, Peter Korsgaard
PATCH 1/1 sqlite: add security patches
Hi Peter,
Quoted 6 lines · Peter Korsgaard
Quoted 5 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Baruch" == Baruch Siach <[email protected]> writes:
CVE-2017-13685: The
dump_callbackfunction in SQLite 3.20.0 allows remote attackers to cause a denial of service (EXC_BAD_ACCESSand application crash) via a crafted file.
Quoted 8 lines
Quoted 5 lines
CVE-2017-15286: SQLite 3.20.1 has a NULL pointer dereference in tableColumnList in
shell.c
because it fails to consider certain cases wheresqlite3_step(pStmt)==SQLITE_ROWis false and a data structure is never initialized.Do you know if this also applies to 2017.08.x (3.19.3) or 2017.02.x (3.16.2)?
According to the Debian CVE-2017-13685 tracker page[1] versions as old as 3.7.13 are affected.
The CVE-2017-15286 page[2] indicates that 3.16.2 is not affected. Not sure about 3.19.3.
[1] https://security-tracker.debian.org/tracker/CVE-2017-13685
[2] https://security-tracker.debian.org/tracker/CVE-2017-15286
baruch
Signature · 3 lines
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -PATCH 1/1 sqlite: add security patches
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Baruch" == Baruch Siach <[email protected]> writes:
Hi,
Quoted 6 lines
Quoted 2 lines
Do you know if this also applies to 2017.08.x (3.19.3) or 2017.02.x (3.16.2)?
According to the Debian CVE-2017-13685 tracker page[1] versions as old as 3.7.13 are affected.
Quoted 6 lines
The CVE-2017-15286 page[2] indicates that 3.16.2 is not affected. Not sure about 3.19.3.
[1] https://security-tracker.debian.org/tracker/CVE-2017-13685
[2] https://security-tracker.debian.org/tracker/CVE-2017-15286
Ok, thanks!
Signature · 1 line
Bye, Peter Korsgaard
PATCH 1/1 sqlite: add security patches
In reply to Baruch SiachQuoted 6 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Baruch" == Baruch Siach <[email protected]> writes:
CVE-2017-13685: The
dump_callbackfunction in SQLite 3.20.0 allows remote attackers to cause a denial of service (EXC_BAD_ACCESSand application crash) via a crafted file.
Quoted 7 lines
CVE-2017-15286: SQLite 3.20.1 has a NULL pointer dereference in tableColumnList in
shell.c
because it fails to consider certain cases wheresqlite3_step(pStmt)==SQLITE_ROWis false and a data structure is never initialized.Signed-off-by Baruch Siach <[email protected]>
Committed to 2017.08.x, thanks.
Signature · 1 line
Bye, Peter Korsgaard