Flight SQL JDBC parses boolean properties case-sensitively, silently disabling TLS for useEncryption=TRUE
Maintainer antworten meist innerhalb von 1 Tag
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 79/100
Rechercherichtung
Finde ArrowFlightConnectionConfigImpl.ArrowFlightConnectionProperty.getBoolean und untersuche, wie die Methode Eigenschaftswerte liest. Prüfe die bestehenden Tests für JDBC-Verbindungseigenschaften und ergänze Tests für true, TRUE, True und 1. Fertig ist die Aufgabe, wenn all diese Werte die Verschlüsselung aktivieren und die relevanten Tests bestehen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
In the Flight SQL JDBC driver, ArrowFlightConnectionConfigImpl.ArrowFlightConnectionProperty.getBoolean compares the property value with:
return valueFromProperties.equals("1") || valueFromProperties.equals("true");
Only the exact lowercase true (or 1) is treated as true. Values coming from the JDBC URL or Properties are not normalized, so a perfectly reasonable value such as useEncryption=TRUE or useEncryption=True is parsed as false.
useEncryption defaults to true and feeds ArrowFlightSqlClientHandler.Builder.withEncryption(...). When it is parsed as false, the driver connects to the server over plaintext gRPC and performs the authentication handshake (username/password, bearer token, or OAuth credentials) over the unencrypted channel. A user who believes they enabled TLS gets a cleartext connection and credential exposure instead.
Most JDBC drivers parse boolean options case-insensitively, so this is surprising and security-relevant. getBoolean should accept true case-insensitively (still honoring 1).
- Vorherrschende Sprache
- Java
- Sterne
- 98
- Forks
- 160
- Ø Merge
- 5 T. 6 Std.
- Gemergte PRs (30 T.)
- 27
Entwicklungsumgebung
- Enthält ein Dockerfile oder eine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus apache/arrow-java
-
ArrowBuf.setBytes(long, ByteBuffer, int, int) does not bounds-check the source bufferEvtl. vergeben @aryan9948 hat das vor 6 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
apache/arrow-java#1336 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
ArrowFlightJdbcArray.getArray(index, count) can read past the end of the array sliceEvtl. vergeben @Arawoof06 hat das vor 86 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
apache/arrow-java#1236 ·
Maintainer antworten meist innerhalb von 1 Tag
-
[Java][JDBC] ClobConsumer writes past VarCharVector data buffer for large CLOBsEvtl. vergeben @Arawoof06 hat das vor 91 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
apache/arrow-java#1230 ·
Maintainer antworten meist innerhalb von 1 Tag
-
[Java] DictionaryEncoder doesn't crash when decoding index outside of DictionaryEvtl. vergeben @jakobhok-neo4j hat das vor 148 Tagen übernommen. OffenType: bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
apache/arrow-java#1158 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Type: enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
apache/arrow-java#1100 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in apache/arrow-java
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
NationalSecurityAgency/ghidra#9884 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Status: Pending Review Type: Feature Request
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 82/100
OpenRefine/OpenRefine#8019 ·
Maintainer antworten meist innerhalb von 1 Tag
-
`timer` rule rejects dates the engine acceptsEvtl. vergeben @MFA-G hat das heute übernommen. Offenbug ready
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
camunda/bpmnlint-plugin-camunda-compat#281 · 3 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
status: waiting-for-triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100