Flight SQL JDBC parses boolean properties case-sensitively, silently disabling TLS for useEncryption=TRUE
Maintainer thường phản hồi trong vòng 1 ngày
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 79/100
Hướng nghiên cứu
Tìm ArrowFlightConnectionConfigImpl.ArrowFlightConnectionProperty.getBoolean và kiểm tra cách phương thức này đọc các giá trị thuộc tính. Xem các bài kiểm thử hiện có cho thuộc tính kết nối JDBC, sau đó bổ sung kiểm thử cho true, TRUE, True và 1. Công việc hoàn tất khi tất cả các giá trị này bật mã hóa và các bài kiểm thử liên quan đều đạt.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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).
- Ngôn ngữ chính
- Java
- Star
- 98
- Fork
- 160
- Merge trung bình
- 5 ngày 9 giờ
- Pull request đã merge (30 ngày)
- 26
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của apache/arrow-java
-
ArrowBuf.setBytes(long, ByteBuffer, int, int) does not bounds-check the source bufferCó thể đã có người làm @aryan9948 đã nhận 5 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
apache/arrow-java#1336 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
ArrowFlightJdbcArray.getArray(index, count) can read past the end of the array sliceCó thể đã có người làm @Arawoof06 đã nhận 85 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
apache/arrow-java#1236 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Java][JDBC] ClobConsumer writes past VarCharVector data buffer for large CLOBsCó thể đã có người làm @Arawoof06 đã nhận 90 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
apache/arrow-java#1230 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Java] DictionaryEncoder doesn't crash when decoding index outside of DictionaryCó thể đã có người làm @jakobhok-neo4j đã nhận 147 ngày trước. Đang mởType: bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
apache/arrow-java#1158 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Type: enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
apache/arrow-java#1100 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của apache/arrow-java
Issue tương tự
-
:ml/Transform >bug Team:ML
Độ khó 2/5 Nửa ngày Mức phù hợp với người mới 64/100
elastic/elasticsearch#161960 · 2 bình luận · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
chore: update release scheduleĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
Maintainer thường phản hồi trong vòng 4 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
objectionary/lints#1556 ·
Maintainer thường phản hồi trong vòng 3 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
wildfly/wildfly-launcher#99 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
apache/rocketmq#11427 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày