Bug 1195773 - VUL-0: tcl: embedded sqlite version means that security fixes are not addressed
Summary: VUL-0: tcl: embedded sqlite version means that security fixes are not addressed
Status: RESOLVED FIXED
Alias: None
Product: SUSE Security Incidents
Classification: Novell Products
Component: Incidents (show other bugs)
Version: unspecified
Hardware: Other Other
: P3 - Medium : Normal
Target Milestone: ---
Assignee: Security Team bot
QA Contact: Security Team bot
URL: https://smash.suse.de/issue/323407/
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-02-10 10:42 UTC by Robert Frohl
Modified: 2024-10-17 22:42 UTC (History)
5 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Robert Frohl 2022-02-10 10:42:22 UTC
It was recently discovered that the tcl embeds a separate version of sqlite and is not using the officially maintained version by SUSE. This means that security updates are not automatically fixed, if they are fixed in the system version of sqlite.

Is there a way to use the sqlite version that is officially maintained or do we need to make sure that all sqlite vulnerabilities are separately fixed in tcl too?
Comment 1 Reinhard Max 2022-02-10 12:28:15 UTC
(In reply to Robert Frohl from comment #0)
> It was recently discovered that the tcl embeds a separate version of sqlite
> and is not using the officially maintained version by SUSE. This means that
> security updates are not automatically fixed, if they are fixed in the
> system version of sqlite.

Yes, indeed, but given that all these alleged SQLite security issues are bogus anyway, I am not worried about that.

BTW, SQLite is meant to be an embedded database and be compile-time configured according to the actual use case, so I wouldn't be surprised if we have more packages that embed it rather than using the system version.

One example that comes to my mind is devel:scm/fossil .

> Is there a way to use the sqlite version that is officially maintained or do
> we need to make sure that all sqlite vulnerabilities are separately fixed in
> tcl too?

It is possible, and I had done it in the past, but at some point I switched back to the embedded variant, IIRC because of some inconsistency, but I don't remember the details. Will check...
Comment 7 OBSbugzilla Bot 2022-03-29 13:20:03 UTC
This is an autogenerated message for OBS integration:
This bug (1195773) was mentioned in
https://build.opensuse.org/request/show/965652 Factory / sqlite3
Comment 8 OBSbugzilla Bot 2022-03-29 14:20:09 UTC
This is an autogenerated message for OBS integration:
This bug (1195773) was mentioned in
https://build.opensuse.org/request/show/965666 Factory / tcl
Comment 9 Stefan Brüns 2022-04-08 13:07:32 UTC
(In reply to Reinhard Max from comment #1)
> (In reply to Robert Frohl from comment #0)
> > It was recently discovered that the tcl embeds a separate version of sqlite
> > and is not using the officially maintained version by SUSE. This means that
> > security updates are not automatically fixed, if they are fixed in the
> > system version of sqlite.
> 
> Yes, indeed, but given that all these alleged SQLite security issues are
> bogus anyway, I am not worried about that.

Some - probably. All - definitely not. The sqlite3 DB format is used by many applications, and while several only use it for local storage of e.g. configuration data (i.e. are likely not vulnerable), many also use it as an interchange format.

Citing from the sqlite home page:
> The SQLite file format is stable, cross-platform, and backwards compatible and the developers pledge to keep it that way through the year 2050. SQLite database files are commonly used as containers to transfer rich content between systems [1] [2] [3] and as a long-term archival format for data [4]. There are over 1 trillion (1e12) SQLite databases in active use [5]. 
 
> BTW, SQLite is meant to be an embedded database and be compile-time
> configured according to the actual use case, so I wouldn't be surprised if
> we have more packages that embed it rather than using the system version.

It can be configured at compile time, but most applications (and language bindings!) are fine with the very same default configuration. Even Android has it included in its core.

From packaging dozens of packages, sqlite3 is the library which is almost always  accepted as an external dependency, even for packages which bundle a lot of stuff. Being universally available in likely every distribution definitely helps.

> One example that comes to my mind is devel:scm/fossil .

fossil links to the shared libsqlite3-0, see https://build.opensuse.org/package/binary/devel:tools:scm/fossil/openSUSE_Tumbleweed/x86_64/fossil-2.17-66.3.x86_64.rpm
Comment 10 Reinhard Max 2022-04-08 14:33:43 UTC
(In reply to Stefan Brüns from comment #9)

> [...] many also use it as an interchange format.

I know, but even that's not a problem for "vulnerabilities" that can only be exploited through crafted SQL rather than a corrupted database.

> Even Android has it included in its core.

I know, but do you know for sure that there is only a single copy that is being used by all apps, or are there also apps that bring their own copy, e.g. because the one that comes with the core might be too old?

> > One example that comes to my mind is devel:scm/fossil .
> 
> fossil links to the shared libsqlite3-0, see
> https://build.opensuse.org/package/binary/devel:tools:scm/fossil/
> openSUSE_Tumbleweed/x86_64/fossil-2.17-66.3.x86_64.rpm

Oops, I must have overlooked libsqlite3 in the dependency list of fossil when I checked it before making that claim. Sorry.

But another example is the sqlite3 cli itself that has some additional functionality compiled in that is not (and should not be) part of the regular libsqlite3. But of course that one can never fall behind on bug fixes, because its embedded copy is getting compiled from the same sources as the library.

Anyway, as you can see in the SRs in comment 7 and comment 8, I have meanwhile changed both packages, so that the Tcl binding is now built as part of the SQLite package.
Comment 11 Reinhard Max 2022-04-13 06:47:41 UTC
(In reply to Reinhard Max from comment #10)
> (In reply to Stefan Brüns from comment #9)
>
> > fossil links to the shared libsqlite3-0, see
> > https://build.opensuse.org/package/binary/devel:tools:scm/fossil/
> > openSUSE_Tumbleweed/x86_64/fossil-2.17-66.3.x86_64.rpm
> 
> Oops, I must have overlooked libsqlite3 in the dependency list of fossil
> when I checked it before making that claim. Sorry.

Ah, that's only true on Factory, but I was apparently looking at Leap where Fossil still uses the embedded copy of SQLite.
Comment 15 Swamp Workflow Management 2022-09-19 16:21:45 UTC
SUSE-SU-2022:3307-1: An update that solves two vulnerabilities and has one errata is now available.

Category: security (moderate)
Bug References: 1189802,1195773,1201783
CVE References: CVE-2021-36690,CVE-2022-35737
JIRA References: 
Sources used:
openSUSE Leap Micro 5.2 (src):    sqlite3-3.39.3-150000.3.17.1
openSUSE Leap 15.4 (src):    sqlite3-3.39.3-150000.3.17.1
openSUSE Leap 15.3 (src):    sqlite3-3.39.3-150000.3.17.1
SUSE Linux Enterprise Module for Basesystem 15-SP4 (src):    sqlite3-3.39.3-150000.3.17.1
SUSE Linux Enterprise Module for Basesystem 15-SP3 (src):    sqlite3-3.39.3-150000.3.17.1
SUSE Linux Enterprise Micro 5.2 (src):    sqlite3-3.39.3-150000.3.17.1
SUSE Linux Enterprise Micro 5.1 (src):    sqlite3-3.39.3-150000.3.17.1

NOTE: This line indicates an update has been released for the listed product(s). At times this might be only a partial fix. If you have questions please reach out to maintenance coordination.
Comment 18 Swamp Workflow Management 2022-09-26 19:25:37 UTC
SUSE-SU-2022:3401-1: An update that solves two vulnerabilities and has one errata is now available.

Category: security (moderate)
Bug References: 1189802,1195773,1201783
CVE References: CVE-2021-36690,CVE-2022-35737
JIRA References: 
Sources used:
SUSE OpenStack Cloud Crowbar 9 (src):    sqlite3-3.39.3-9.23.1
SUSE OpenStack Cloud 9 (src):    sqlite3-3.39.3-9.23.1
SUSE Linux Enterprise Software Development Kit 12-SP5 (src):    sqlite3-3.39.3-9.23.1
SUSE Linux Enterprise Server for SAP 12-SP4 (src):    sqlite3-3.39.3-9.23.1
SUSE Linux Enterprise Server 12-SP5 (src):    sqlite3-3.39.3-9.23.1
SUSE Linux Enterprise Server 12-SP4-LTSS (src):    sqlite3-3.39.3-9.23.1
SUSE Linux Enterprise Server 12-SP3-BCL (src):    sqlite3-3.39.3-9.23.1
SUSE Linux Enterprise Server 12-SP2-BCL (src):    sqlite3-3.39.3-9.23.1

NOTE: This line indicates an update has been released for the listed product(s). At times this might be only a partial fix. If you have questions please reach out to maintenance coordination.
Comment 19 Swamp Workflow Management 2022-10-19 13:19:58 UTC
SUSE-SU-2022:3653-1: An update that contains security fixes can now be installed.

Category: security (important)
Bug References: 1195773
CVE References: 
JIRA References: 
Sources used:
SUSE Linux Enterprise Software Development Kit 12-SP5 (src):    tcl-8.6.12-11.6.1
SUSE Linux Enterprise Server 12-SP5 (src):    tcl-8.6.12-11.6.1

NOTE: This line indicates an update has been released for the listed product(s). At times this might be only a partial fix. If you have questions please reach out to maintenance coordination.
Comment 20 Swamp Workflow Management 2022-11-02 20:20:21 UTC
SUSE-SU-2022:3307-2: An update that solves two vulnerabilities and has one errata is now available.

Category: security (moderate)
Bug References: 1189802,1195773,1201783
CVE References: CVE-2021-36690,CVE-2022-35737
JIRA References: 
Sources used:
SUSE Manager Server 4.1 (src):    sqlite3-3.39.3-150000.3.17.1
SUSE Manager Retail Branch Server 4.1 (src):    sqlite3-3.39.3-150000.3.17.1
SUSE Manager Proxy 4.1 (src):    sqlite3-3.39.3-150000.3.17.1
SUSE Linux Enterprise Server for SAP 15-SP2 (src):    sqlite3-3.39.3-150000.3.17.1
SUSE Linux Enterprise Server for SAP 15-SP1 (src):    sqlite3-3.39.3-150000.3.17.1
SUSE Linux Enterprise Server for SAP 15 (src):    sqlite3-3.39.3-150000.3.17.1
SUSE Linux Enterprise Server 15-SP2-LTSS (src):    sqlite3-3.39.3-150000.3.17.1
SUSE Linux Enterprise Server 15-SP2-BCL (src):    sqlite3-3.39.3-150000.3.17.1
SUSE Linux Enterprise Server 15-SP1-LTSS (src):    sqlite3-3.39.3-150000.3.17.1
SUSE Linux Enterprise Server 15-SP1-BCL (src):    sqlite3-3.39.3-150000.3.17.1
SUSE Linux Enterprise Server 15-LTSS (src):    sqlite3-3.39.3-150000.3.17.1
SUSE Linux Enterprise Micro 5.3 (src):    sqlite3-3.39.3-150000.3.17.1
SUSE Linux Enterprise High Performance Computing 15-SP2-LTSS (src):    sqlite3-3.39.3-150000.3.17.1
SUSE Linux Enterprise High Performance Computing 15-SP2-ESPOS (src):    sqlite3-3.39.3-150000.3.17.1
SUSE Linux Enterprise High Performance Computing 15-SP1-LTSS (src):    sqlite3-3.39.3-150000.3.17.1
SUSE Linux Enterprise High Performance Computing 15-SP1-ESPOS (src):    sqlite3-3.39.3-150000.3.17.1
SUSE Linux Enterprise High Performance Computing 15-LTSS (src):    sqlite3-3.39.3-150000.3.17.1
SUSE Linux Enterprise High Performance Computing 15-ESPOS (src):    sqlite3-3.39.3-150000.3.17.1
SUSE Enterprise Storage 7 (src):    sqlite3-3.39.3-150000.3.17.1
SUSE Enterprise Storage 6 (src):    sqlite3-3.39.3-150000.3.17.1
SUSE CaaS Platform 4.0 (src):    sqlite3-3.39.3-150000.3.17.1

NOTE: This line indicates an update has been released for the listed product(s). At times this might be only a partial fix. If you have questions please reach out to maintenance coordination.
Comment 21 Swamp Workflow Management 2023-01-05 17:24:26 UTC
SUSE-SU-2023:0030-1: An update that contains security fixes can now be installed.

Category: security (important)
Bug References: 1195773
CVE References: 
JIRA References: 
Sources used:
openSUSE Leap 15.4 (src):    tcl-8.6.12-150300.14.6.1
openSUSE Leap 15.3 (src):    tcl-8.6.12-150300.14.6.1
SUSE Linux Enterprise Module for Basesystem 15-SP4 (src):    tcl-8.6.12-150300.14.6.1
SUSE Linux Enterprise Module for Basesystem 15-SP3 (src):    tcl-8.6.12-150300.14.6.1
SUSE Linux Enterprise Micro 5.3 (src):    tcl-8.6.12-150300.14.6.1

NOTE: This line indicates an update has been released for the listed product(s). At times this might be only a partial fix. If you have questions please reach out to maintenance coordination.
Comment 24 Andrea Mattiazzo 2024-05-20 10:15:57 UTC
All done, closing.